在本文中,我们将讨论C ++ STL中stack::emplace()函数的工作,语法和示例。
堆栈是将数据存储在LIFO(后进先出)中的数据结构,在该位置我们从最后插入的元素的顶部进行插入和删除。就像一堆板子一样,如果我们想将新的板子推入栈中,我们会在顶部插入,如果我们想从板子中取出该板子,那么我们也会从顶部将其删除。
stack::emplace()函数是C ++ STL中的内置函数,该函数在<stack>头文件中定义。emplace()用于在与函数关联的堆栈容器中构造和插入元素。
当我们运行此函数时,该函数在堆栈顶部插入一个新元素,并使新插入的元素成为顶部元素。此函数调用emplace_back在顶部插入新元素。
stack_name.emplace(Args& args);
该函数接受以下参数-
args-这些是我们要使用的参数。
此函数不返回任何内容。
输入项
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3);
输出结果
3 2 1
#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
   }
   return 0;
}输出结果
如果我们运行上面的代码,它将生成以下输出-
Elements in stack are: 60 50 40 30 20 10
#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   int total = 0;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
      total++;
   }
   cout<<"\nTotal number of elements in stack are: "<<total;
   return 0;
}输出结果
如果我们运行上面的代码,它将生成以下输出-
Elements in stack are: 60 50 40 30 20 10 Total number of elements in stack are: 6