【栈和队列】基础

来源:互联网 发布:java项目自我评价 编辑:程序博客网 时间:2024/06/05 16:53

栈:stack     队列:queue

头文件:

              #include<stack>

              #include<queue>

              using namespace std;

定义:stack<int> stk;                queue<int> q;


栈:

s.empty()               如果栈为空返回true,否则返回false  
s.size()                  返回栈中元素的个数  
s.pop()                   删除栈顶元素但不返回其值  
s.top()                    返回栈顶的元素,但不删除该元素 
s.push()                 在栈顶压入新元素  

队列:

q.empty()               如果队列为空返回true,否则返回false  
q.size()                  返回队列中元素的个数  
q.pop()                   删除队列首元素但不返回其值  
q.front()                 返回队首元素的值,但不删除该元素  
q.push()                在队尾压入新元素  
q.back()                返回队列尾元素的值,但不删除该元素



优先队列:定义:priority_queue<int > que;  默认按照由大到小排




栈和队列基本代码


#include<stdio.h>#include<stack>//栈#include<queue>//队列#include<algorithm>using namespace std;int main(){//栈     stack<int > sta;    push(5);//先放入     sta.push(2);//后放先出     int x=sta.top();//取最上边的数     printf("%d\n",x);    sta.pop();//删除容器最上边的数    int y=sta.top();printf("%d\n",y); //队列 queue<int > que; que.push(3);//先进  que.push(5);//后进但从先进的出 int z=que.front();//3  printf("%d\n",z);  que.pop();//删除 先进  int t=que.front(); printf("%d\n",t);return 0;}


原创粉丝点击