STL——stack容器和queue容器详解

 

目录

💡stack

💡基本概念

常用接口

 💡queue

💡基本概念

💡常用接口



💡stack

💡基本概念

栈(stack):一种特殊的线性表,其只允许在固定的一端进行插入和删除操作。在进行数据插入和删除的一端称为栈顶,另一端称为栈底。栈中的元素都遵循后进先出的原则(LIFO,Last In First Out)。

压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。

出栈:栈的删除操作叫做出栈。出数据也在栈顶。


生活中栈的例子:

常用接口

功能描述:

  • 栈容器常用的对外接口

构造函数:

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

赋值操作:

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

数据存取:

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

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

	stack<int>st;
	//入栈
	st.push(10);
	st.push(20);
	st.push(30);
	st.push(40);//栈顶
	
	cout << "size=" << st.size() << endl;

	while (!st.empty())
	{
		cout << st.top() << endl;
		st.pop();
	}

	cout << "size="<<st.size() << endl;

 💡queue

💡基本概念

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)

入队列:进行插入操作的一端称为队尾

出队列:进行删除操作的一端称为队头

💡常用接口

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

构造函数:

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

赋值操作:

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

数据存取:

  • push(elem);        //往队尾添加元素
  • pop();        //从队头移除第一个元素
  • back();        //返回最后一个元素
  • front();        //返回第一个元素

大小操作:

  • empty();        //判断堆栈是否为空
  • size();        //返回栈的大小
    queue<int>q;
	q.push(10);
	q.push(20);
	q.push(30);
	q.push(40);

	cout << q.front() << endl;//队头元素
	cout << q.back() << endl;//队尾元素

	
	cout <<"size= "<< q.size() << endl;//大小
	//先进先出
	while (!q.empty())
	{
		cout << q.front() << endl;
		q.pop();
	}
	cout <<"size= "<< q.size() << endl;


 

  • 38
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值