1.頭文件
#include<queue>// 隊(duì)列
#include<stack>//棧
2.定義方式
stack<int> s;//參數(shù)也是數(shù)據(jù)類型弥激,這是棧的定義方式
queue<int> q; //參數(shù)是數(shù)據(jù)類型缘圈,這是隊(duì)列的定義方式
3.常用操作
棧:
s.empty()//如果棧為空返回true晶疼,否則返回false
s.size()//返回棧中元素的個(gè)數(shù)
s.pop()//刪除棧頂元素但不返回其值
s.top()//返回棧頂?shù)脑兀粍h除該元素
s.push(X)//在棧頂壓入新元素 猾普,參數(shù)X為要壓入的元素
隊(duì)列:
q.empty()// 如果隊(duì)列為空返回true,否則返回false
q.size() // 返回隊(duì)列中元素的個(gè)數(shù)
q.pop() //刪除隊(duì)列首元素但不返回其值
q.front() // 返回隊(duì)首元素的值本谜,但不刪除該元素
q.push(X) //在隊(duì)尾壓入新元素 初家,X為要壓入的元素
q.back() //返回隊(duì)列尾元素的值,但不刪除該元素
例子
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <vector>
using namespace std;
int main()
{
queue<int> q;
stack<char> s;
q.push(1);
cout << q.enpty() << endl;
q.push(2);
cout << q.front() << endl;
q.pop();
cout << q.front() << endl;
q.pop();
cout << q.empty() <<endl;
s.push(a);
cout << s.top() <<endl;
s.push(b);
cout << s.top();
s,pop();
cout << s.top();
}