C ++ STL中堆栈的emplace()方法
在本文中,我们将讨论C++STL中stack::emplace()函数的工作,语法和示例。
什么是C++STL中的堆栈?
堆栈是将数据存储在LIFO(后进先出)中的数据结构,在该位置我们从最后插入的元素的顶部进行插入和删除。就像一堆板子一样,如果我们想将新的板子推入栈中,我们会在顶部插入,如果我们想从板子中取出该板子,那么我们也会从顶部将其删除。
什么是stack::emplace()?
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