一、棧
棧的定義在標頭檔案中,stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要的,在不指定容器型別時,預設的容器型別為deque。
定義stack 物件的示例**如下:
stacks1;
stacks2;
stack的基本操作有:對於stacks
入 棧: s.push(x);
出 棧: s.pop(); //出棧只是刪除棧頂元素,並不返回該元素
訪問棧頂元素: s.top();
判 斷 棧 空: s.empty();//棧空時,返回true
棧中的元素個數:s.size();
例子:#include#includeusing namespace std;
int main()
{ stackmys;
mys.push(9);
mys.push(3);
mys.push(2);
cout<<"mys.size: "<
queue 模板類的定義在標頭檔案中。
queue 模板類也需要兩個模板引數,乙個是元素型別,乙個容器型別,元素型別是必要的,容器型別是可選的,預設為deque 型別。
定義queue 物件的示例**如下:
queueq1;
queueq2;
queue 的基本操作有:
入 隊:q.push(x); // 將x 接到佇列的末端。
出 隊:q.pop(); //彈出佇列的第乙個元素,注意,並不會返回被彈出元素的值。
訪問隊首元素:q.front(); //即最早被壓入佇列的元素。
訪問隊尾元素:q.back(); //即最後被壓入佇列的元素。
判斷佇列空 q.empty(); //當佇列空時,返回true。
佇列中的元素個數:q.size();
#include#includeusing namespace std;
int main()
{ queuemyq;
myq.push(9);
myq.push(3);
myq.push(2);
cout<<"myq.size: "<
C STL 棧和佇列
結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算限制與棧不同,是兩...
C STL 棧和佇列詳解
一.解釋 1.棧 結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算...
C STL 棧和佇列詳解
一.解釋 1.棧 結論 後進先出 last in first out 簡稱為lifo線性表。舉個例子 你在洗碗把洗好的碗編號為1 2 n依次摞起來,1號在最下面,向上編號依次增加,然後再從上到下把碗放好,這樣的話,先被洗的碗,就後被放好。2.佇列 佇列 queue 也是一種運算受限的線性表,它的運算...