使用標準庫的棧和隊列時,先包含相關的頭文件
#include<stack>
#include<queue>
定義棧如下:
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() 返回隊列尾元素的值,但不刪除該元素
<ul class="custom_dot para-list list-paddingleft-1" style="margin: 0px 0px 14px 2em; padding: 0px; list-style: none; font-family: arial, 宋體, sans-serif; font-size: 14px; line-height: 24px;"><li class="list-dot list-dot-paddingleft" style="margin: 0px; padding: 0px 0px 0px 14px; list-style-type: none; background-image: url(http://img.baidu.com/img/baike/editor/list/dot.gif); background-position: 0px 6px; background-repeat: no-repeat;"><div class="para" style="color: rgb(51, 51, 51); margin: 0px;">注意:pop()雖然會移除下一個元素,但是並不返回它,front()和back()返回下一個元素但並不移除該元素。</div></li></ul>
隊列的基本運算:
(1)初始化隊列 Qini (Q)
(2)入隊 QADD(Q,X)
(3)出隊 QDel(Q,X)
(4)判斷隊列是否爲空 qempty(Q)
(5)判斷隊列是否爲滿qfull(Q)