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

以上是 C ++ STL中堆栈的emplace()方法 的全部内容, 来源链接: utcz.com/z/338597.html

回到顶部