关于栈、队列的建立、增值、访问以及移除

关于栈、队列的建立、增值、访问以及移除


许久没有学习关于栈和队列的内容,今儿拿出来再复习相关基础操作。
栈:
栈(Stack)是支持push和pop两种操作的数据结构。push是在栈的顶端放入一组数据的操作。反之,pop是从其顶端取出一组数据的操作。因此,最后进入栈的一组数据可以最先被取出(这种行为被叫做LIFO: Last In First Out,即后进先出)。

stack < int > s 建立栈
s.pop() 移除栈顶元素
s.top() 访问栈顶元素
s.push(x) 往s里增加x元素

图片描述:
栈

代码描述:

#include<stack>
#include<iostream>
using namespace std;
stack<int> s;
int main()
{
	s.push(1);// {}->{1};
	s.push(2);//   {1}->{1,2};
	s.push(3);//{1,2}->{1,2,3};
	cout<<s.top()<<endl; //3 
	s.pop();//从栈顶移除{1,2,3}->{1,2};
	cout<<s.top()<<endl; //2
	s.pop();//从栈顶移除{1,2}->{1};
	cout<<s.top()<<endl; //1
	s.pop();//从栈顶移除{1}->{};
	return 0;
} 

队列:
队列(Queue)与栈一样支持push和pop两个操作。但与栈不同的是,pop完成的不是取出最顶端的元素,而是取出最底端的元素。也就是说最初放入的元素能够最先被取出(这种行为被叫做FIFO: First In First Out,即先进先出)。

queue < int > que 建立队列
que.pop() 移除最低端的元素
que.push(x) 增加x元素放到顶端
que.front() 访问最低端元素

图片描述:
队列
代码描述:

#include<iostream>
#include<queue>
using namespace std;
queue<int>que;
int main()
{
	que.push(1);//{}->{1};
	cout<<que.front()<<endl;// 1
	que.push(2);//{1}->{1,2};
	cout<<que.front()<<endl;//1    先进先出 
	que.push(3);//{1,2}->{1,2,3}; 
	cout<<que.front()<<endl;//1    先进先出,因为1先进所以先出,与栈不同,栈是后进先出,所以是s。top
	que.pop();//{1,2,3}->{2,3};
	cout<<que.front()<<endl;  //2
	que.pop();//{2,3}->{3};
	cout<<que.front()<<endl;//3
	que.pop();//{3}->{};
	cout<<que.front()<<endl; //  空即为0 
	return 0;
	 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值