当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Stack pop()用法及代码示例


C++ Stack 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

复杂度

函数的复杂度是恒定的,函数只在栈顶执行pop或delete操作,不会增加任何复杂度。

数据竞争

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

异常安全

提供等同于对底层容器对象执行的操作的保证。





相关用法


注:本文由纯净天空筛选整理自 C++ Stack pop() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。