转:栈和队列小知识【STL用法】

原文出处:http://blog.csdn.net/chenzhenyu123456/article/details/44519943

栈:

(一)头文件  #include<stack>

(二)定义栈  stack<int>s;

(三)使用     

 1 :  s.empty()                               栈为空返回true,否则返回false;

 2 :  s.size()                                   返回栈中元素的个数 

 3 :  s.pop()                                    删除栈顶元素但不返回其值 

 4 :  s.top()                                    返回栈顶的元素,但不删除该元素 

 5 :  s.push()                                 在栈顶压入新元素 

队列:

(一)头文件 #include<queue>

(二)定义    queue<int>q;

(三)使用    

1 : q.empty()                                如果队列为空返回true,否则返回false;

2 : q.size()                                    返回队列中元素的个数 

3 : q.pop()                                     删除队列首元素但不返回其值 

4 : q.front()                                  返回队首元素的值,但不删除该元素 

5 : q.push()                                   在队尾压入新元素 

6 : q.back()                                  返回队列尾元素的值,但不删除该元素

 

优先队列:

priority_queue<int> qi;//普通的优先级队列,按从大到小排序

 priority_queue<int, vector<int>, greater<int> > qi2;//从小到大的优先级队列,可将greater改为less,即为从大到小

 

原文地址:https://www.cnblogs.com/tonghao/p/4679250.html