C++ Stack 中的 pop函数

首页 / C++入门教程 / C++ Stack 中的 pop函数

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

句法

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;
}

输出 strong>:

Popping out elements... 4 3 2 1 0

例子2

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

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/c++/cpp-stack-pop-function.html

来源:LearnFk无涯教程网

#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;
}

输出 strong>:

Popping out elements... 22 11

例子3

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

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/c++/cpp-stack-pop-function.html

来源:LearnFk无涯教程网

#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;
}

输出 strong>:

90 85 80 79 69

复杂

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

数据竞赛

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

异常安全

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





祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学架构 -〔李运华〕

Serverless入门课 -〔蒲松洋(秦粤)〕

WebAssembly入门课 -〔于航〕

动态规划面试宝典 -〔卢誉声〕

张汉东的Rust实战课 -〔张汉东〕

程序员的个人财富课 -〔王喆〕

玩转Vue 3全家桶 -〔大圣〕

React Native 新架构实战课 -〔蒋宏伟〕

AI大模型系统实战 -〔Tyler〕

好记忆不如烂笔头。留下您的足迹吧 :)