首页 文章资讯内容详情

C ++ STL中堆栈的emplace()方法

2026-06-04 1 花语

在本文中,我们将讨论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