C STL stack queue的使用方法

2021-10-05 07:29:18 字數 852 閱讀 1974

c++ stl–stack/queue 的使用方法

1、stack

stack 模板類的定義在標頭檔案中。

stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要

的,在不指定容器型別時,預設的容器型別為deque。

定義stack 物件的示例**如下:

stack s1;

stack s2;

stack 的基本操作有:

入棧,如例:s.push(x);

出棧,如例:s.pop();注意,出棧操作只是刪除棧頂元素,並不返回該元素。

訪問棧頂,如例:s.top()

判斷棧空,如例:s.empty(),當棧空時,返回true。

訪問棧中的元素個數,如例:s.size()。

2、queue

queue 模板類的定義在標頭檔案中。

與stack 模板類很相似,queue 模板類也需要兩個模板引數,乙個是元素型別,乙個容器類

型,元素型別是必要的,容器型別是可選的,預設為deque 型別。

定義queue 物件的示例**如下:

queue q1;

queue q2;

queue 的基本操作有:

入隊,如例:q.push(x); 將x 接到佇列的末端。

出隊,如例:q.pop(); 彈出佇列的第乙個元素,注意,並不會返回被彈出元素的值。

訪問隊首元素,如例:q.front(),即最早被壓入佇列的元素。

訪問隊尾元素,如例:q.back(),即最後被壓入佇列的元素。

判斷佇列空,如例:q.empty(),當佇列空時,返回true。

訪問佇列中的元素個數,如例:q.size()·

C STL stack queue的使用方法

略作修改 一 stack 堆疊 stack是乙個容器類的改編,它實現了乙個 先進後出 的資料結構,它儲存的容器物件來為它實現堆疊的所有功能。注 迭代器不能在堆疊中使用,因為只有棧頂的元素才可以訪問。typedef stack mystack stack 模板類需要 兩個模板引數 乙個是 元素型別 乙...

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...