C++提高编程(三)—— STL常用容器(5) :stack容器

C++系列内容的学习目录 → \rightarrow →C++学习系列内容汇总

5. stack容器

5.1 stack基本概念

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

C++提高编程(三)—— STL常用容器(5) :stack容器
  栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。栈中进入数据称为入栈push;栈中弹出数据称为出栈pop

5.2 stack 常用接口

  功能描述: 栈容器常用的对外接口。

  构造函数:

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

  赋值操作:

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

  数据存取:

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

   大小操作:

  • empty();    //判断堆栈是否为空
  • size();    //返回栈的大小

  实例如下所示。

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

//stack容器(栈):特点是符合先进后出的数据结构
void test01()
{
	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()
{
	test01();

	system("pause");

	return 0;
}

栈的大小为:4
栈顶元素为:40
栈顶元素为:30
栈顶元素为:20
栈顶元素为:10
栈的大小为:0

上一篇:Java第十二届蓝桥杯b组真题 双向排序


下一篇:java中栈stack和队列queue用法详细分析(全)