C++ Stack push()函数
C++ Stack push()函数用于在栈的顶部添加新元素。如果我们有一个类型为stack的数组,通过使用push()函数,我们可以将新元素插入到栈中。元素被插入到栈的顶部。最初插入的元素在最后被删除,反之亦然,因为栈遵循LIFO原则。
语法
void push (const value_type& value);
参数
value :该参数代表元素初始化的值。该参数指定了新插入元素的值。函数执行后,元素’value’成为栈的新顶部元素。
返回值
该函数只插入元素,不返回任何值。函数的返回类型可以理解为空。
示例1
//该程序用于演示使用push()函数向栈中插入简单整数值的方法。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
for(int j= 0; j<5; j++)
newstack.push(j);
std::cout << "Poping the elements out of the stack??.";
while (!newstack.empty () )
{
std::cout<<" " << newstack.top ();
newstack.pop();
}
std::cout<<"\n";
return 0;
}
输出:
Poping the elements out of the stack..... 4 3 2 1 0
示例2
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
newstack.push(69);
newstack.push(79);
newstack.push(80);
while (!newstack.empty())
{
std::cout<<" " << newstack.top ();
newstack.pop();
}
return 0;
}
输出:
90 85 80 79 69
示例3
//这个程序用于演示使用 push() 函数将简单整数值插入到堆栈中。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
newstack.push(11);
newstack.push(22);
newstack.push(33);
newstack.push(44);
std::cout << "Popping out elements?";
newstack.pop();
newstack.pop();
while (!newstack.empty () )
{
std::cout << " " << newstack.top();
newstack.pop();
}
std:: cout<<'\n';
return 0;
}
输出:
Popping out elements... 22 11
示例4
//该程序用于演示使用栈的push()函数通过插入简单整数值。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> a,b;
a.push(5); a.push(8); a.push(50);
b.push(132); b.push(45);
std::cout<<"Size of a: "<<a.size();
std::cout<<"\n Size of b:" <<b.size();
return 0;
}
输出:
Size of a: 3
Size of b:2
复杂性
将一个调用发送到底层的容器的推回操作,这对于插入元素的操作完成是必要的。
数据竞争
修改是针对容器及其包含的元素进行的。添加新元素会修改所有底层堆栈元素。
异常安全
提供与在底层容器对象上执行的操作等效的保证。