栈和队列

栈:栈(stack)又名堆栈,它是一种运算受限的线性表。其限
制是仅允许在表的一端进行插入和删除运算。这一端被称为
栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又
称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上
面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈
或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的
栈顶元素。

队列:队列(queue)的的性质刚好与栈相反,功能类似,但队列是
先进先出。

可理解为“栈:先进后出,队列:先进先出”。

代码如下:

#include <iostream>
#include <stack>//栈所需头文件 
#include <queue>//队列所需头文件 
using namespace std;
int main()
{
	stack<int>sta;//栈的定义 
	queue<int>que;//队列的定义 
	for(int i=1;i<=5;i++)//存入数据 
	{
		int n;
		cin>>n;
		sta.push(n);//入栈
		que.push(n);//入队列
	}
	while(!sta.empty())//检查是否为空 
	{
		cout<<sta.top()<<endl;//查询栈顶元素 
		sta.pop();//元素出栈 
	}
	while(!que.empty())
	{
		cout<<que.front()<<endl;//查询队列顶端元素 
		que.pop();//元素出队列 
	}
	/*清空栈 or 队列*/ 
	while(!que.empty()) que.pop();
	while(!sta.empty()) sta.pop();
	return 0;
}
原文地址:https://www.cnblogs.com/cnlik/p/11851886.html