C++ Stack pop() 函数使用方法及示例

C++ STL Stack(栈)

C ++堆栈pop()函数用于删除堆栈的最高元素。此函数执行删除操作。堆栈中的删除是从顶部开始的。首先删除最近插入的元素。堆栈遵循LIFO原则,即后进先出,因此弹出操作遵循上述顺序。

语法

void pop()

参数

该函数不带参数,仅用于删除顶部元素。同样,由于堆栈遵循LIFO原则,因此我们不需要指定要删除的元素,因为默认情况下,最顶部的元素将被首先删除。

返回值

该函数仅用于从堆栈中删除元素,并且没有返回值。因此,我们可以说该函数的返回类型为void。

实例1

//该程序用于通过插入简单的整数值来演示堆栈的pop()函数的用法。

#include <iostream>
#include <stack>
using namespace std;

int main()
{
	stack<int> newstack; 
	for(int j=0; j<5; j++)
	newstack.push(j);
	cout <<"弹出元素?";
	while (!newstack.empty () )
	{
		cout <<" " << newstack.top();
		newstack.pop();
	}
	cout<<"\n";
	return 0;
}

输出:

弹出元素... 4 3 2 1 0

实例2

//该程序用于通过插入简单的整数值来演示堆栈的pop()函数的用法。

#include <iostream>
#include <stack>
using namespace std;

int main()
{
	stack<int> newstack; 
	newstack.push(11);
	newstack.push(22);
	newstack.push(33);
	newstack.push(44);
	cout << "弹出元素?";
	newstack.pop();
	newstack.pop();
	while (!newstack.empty () )
	{
		cout << " "<< newstack.top();
		newstack.pop();
	}
	cout<<"\n";
	return 0;
}

输出:

弹出元素... 22 11

实例3

//该程序用于通过插入简单的整数值来演示堆栈的pop()函数的用法。

#include <iostream>
#include <stack>
using namespace std;

int main()
{
	stack<int> newstack;
	newstack.push(69);
	newstack.push(79);
	newstack.push(80);
	newstack.push(85);
	newstack.push(90);
	while (!newstack.empty () )
	{
		cout<< " " << newstack.top ();
		newstack.pop();
	}
	return 0;
}

输出:

90 85 80 79 69

复杂

该函数的复杂度是恒定的,该函数仅在堆栈的顶部执行弹出或删除操作,而不会增加任何复杂性。

数据争用

对容器和其中包含的元素进行了修改。通过删除操作,将变化反映在顶部位置的元素上,顶部位置向下移动一个单位。可以证明为top = top--。

异常安全

提供与在底层容器对象上执行的操作等效的保证。

C++ STL Stack(栈)