C++ Stack pop()函数
C++ Stack pop()函数用于删除堆栈的顶部元素。该函数执行删除操作。在堆栈中,删除操作是从顶部进行的。最近插入的元素首先被删除。堆栈遵循后进先出的原则,因此pop操作按照上述顺序执行。
语法
void pop()
参数
该函数不接受任何参数,仅用于删除顶部元素。由于栈遵循LIFO原则,我们不需要指定要删除的元素,因为默认情况下会首先删除顶部元素。
返回值
该函数仅用于从栈中移除元素,没有返回值。因此我们可以说该函数的返回类型为void。
示例1
//该程序用于演示使用堆栈的pop()函数通过插入简单的整数值。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
for(int j=0; j<5; j++)
newstack.push(j);
std::cout <<"Popping out elements?";
while (!newstack.empty () )
{
std::cout <<" " << newstack.top();
newstack.pop();
}
std::cout<<"\n";
return 0;
}
输出结果:
Popping out elements... 4 3 2 1 0
示例2
//该程序用于演示通过插入简单整数值使用栈的pop()函数。
#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
示例3
//该程序用于演示通过插入简单的整数值来使用堆栈的pop()函数。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
newstack.push(69);
newstack.push(79);
newstack.push(80);
newstack.push(85);
newstack.push(90);
while (!newstack.empty () )
{
std::cout<< " " << newstack.top ();
newstack.pop();
}
return 0;
}
输出:
90 85 80 79 69
复杂性
该函数的复杂性是恒定的,函数只在栈的顶部执行弹出或删除操作,并且不会增加任何复杂性。
数据竞争
修改是针对容器和其中包含的元素进行的。通过删除操作,变化会反映在顶部位置的元素上,顶部位置会向下移动一个单位。可以表示为top=top–。
异常安全
提供了与在底层容器对象上执行的操作等效的保证。