一、#include < stack >
include < stack >为C++ STL栈stack的头文件,是STL中实现的一个后进先出的容器。它的主要用法如下:
- stack< typename > name ; //stack的定义,typename可以任意基本数据类型或容器:
- S.empty(); //栈空返回true 否则false
- int a=S.size(); //返回栈中元素的个数
- S.push(x); //将x入栈
- S.pop(); //将栈顶元素出栈
- int b=S.top(); //返回栈顶元素
程序示例:
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int> S;
for(int i=1;i<=5;i++){
S.push(i); //push(i)将i压入栈
}
cout<<"栈顶元素为:"<<S.top()<<" 栈中元素个数为:"<<S.size()<<endl;
S.pop();
cout<<"栈顶元素为:"<<S.top()<<" 栈中元素个数为:"<<S.size()<<endl;
return 0;
}
运行结果:
二、#include < queue >
include < queue >为C++ STL队列queue的头文件,是STL中实现的一个先进先出的容器。它的主要用法如下:
- queue< typename > name ; //queue的定义,typename可以任意基本数据类型或容器:
- Q.empty(); //队列空返回true 否则false
- int a=Q.size(); //返回队列中元素的个数
- Q.push(x); //将x 接到队列的末端,进行入队操作。
- Q.pop(); //弹出队列的第一个元素,注意并不会返回被弹出元素的值。
- int a=Q.front() //访问队首元素,即最早被压入队列的元素。
- int b= Q.back() //访问队尾元素,即最后被压入队列的元素。
程序示例:
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> Q;
for(int i=1;i<=5;i++){
Q.push(i); //push(i)将i压入队列
}
cout<<"队首元素为:"<<Q.front()<<" 队尾元素为:"<<Q.back()<<" 栈中元素个数为:"<<Q.size()<<endl;
Q.pop();Q.pop();
cout<<"队首元素为:"<<Q.front()<<" 队尾元素为:"<<Q.back()<<" 栈中元素个数为:"<<Q.size()<<endl;
return 0;
}
运行结果: