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

时间:2024-09-13 14:34:02

原文出处:http://blog.****.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,即为从大到小