栈 队列 双端队列 | c++常用STL库函数

#include <stack>

stack<type>s;     //定义
s.empty();        //如果栈空则返回true, 否则返回false
s.size();         //返回栈中元素的个数
s.top();          //返回栈顶元素, 但不删除该元素
s.pop();          //弹出栈顶元素, 但不返回其值
s.push();         //将元素压入栈顶

队列

#include <queue>

queue<type>s;      //定义
q.empty();         //如果队列为空返回true, 否则返回false     
q.size();          //返回队列中元素的个数
q.front();         //返回队首元素但不删除该元素
q.pop();           //弹出队首元素但不返回其值
q.push();          //将元素压入队列
q.back();          //返回队尾元素的值但不删除该元素

双端队列

#include <deque>

deque<type>c;             //定义
c.push_front('a');       //在队首加入元素
c.push_back('a');        //在队尾加入元素
c.pop_front();           //删除队首元素
c.pop_back();              //删除队尾元素
c.front();               //返回队首元素
c.back();                //返回队首元素
c.insert(pos, elem);     //在pos的位置插入元素elem
c.insert(pos, n, elem);  //在pos的位置插入n个elem
c.empty();               //判断是否为空

Plus
判断两个栈是否相等

int stackcmp(stack<int>s1,stack<int>s2)
{
	if (s1.size() != s2.size())
		return 0;

	while (!s1.empty() && !s2.empty())
	{
		if (s1.top() == s2.top())
		{
			s1.pop();
			s2.pop();
		}
		else
		{
			return 0;
	    }
	}
	return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值