STL——stack容器

1.stack基本概念

概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。

栈中进入数据称为------入栈(push)

栈中弹出数据称为------出栈(pop)

2.stack常用接口

构造函数:

  • stack<T> stk; ------//stack采用模板类实现, stack对象的默认构造形式
  • stack(const stack &stk);------ //拷贝构造函数

赋值操作:

  • stack& operator=(const stack &stk); ------//重载等号操作符

数据存取:

  • push(elem);------ //向栈顶添加元素
  • pop(); ------//从栈顶移除第一个元素
  • top(); ------//返回栈顶元素

大小操作:

  • empty();------ //判断堆栈是否为空
  • size(); ------//返回栈的大小
cpp 复制代码
#include<iostream>
using namespace std;
#include<stack>
//栈stack容器
void test()
{
	stack<int>s;
	//入栈
	s.push(10);
	s.push(20);
	s.push(30);
	s.push(40);
	cout << "栈的大小为:" << s.size() << endl;
	//只要栈不为空,查看栈顶,并且执行出栈操作
	while (!s.empty())
	{
		//查看栈顶元素
		cout << "栈顶元素为:" << s.top() << endl;
		//出栈
		s.pop();
	}
	cout << "栈的大小为:" << s.size() << endl;
}
int main()
{
	test();
	system("pause");
	return 0;
}
相关推荐
C++ 老炮儿的技术栈13 分钟前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
布局呆星18 分钟前
闭包与装饰器
开发语言·python
fyzy29 分钟前
C++写后端实现,实现前后端分离
开发语言·c++
huohuopro32 分钟前
Mybatis的七种传参方式
java·开发语言·mybatis
Lee_SmallNorth33 分钟前
变态需求之【角色不同访问数据库的用户不同】
java·开发语言·数据库
扶苏-su35 分钟前
Java网络编程:InetAddress 详解
java·开发语言·网络
CSDN_RTKLIB1 小时前
C++谓词
c++·stl
IOT-Power1 小时前
QT构建构建DataBus总线
开发语言·qt
Ophelia(秃头版2 小时前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript
米饭的白色2 小时前
matlab 中 `对数坐标` 画图下的 `hold on` 位置对坐标轴刻度的影响
开发语言·matlab