STL容器操作 stack詳解

2021-09-20 15:34:14 字數 1546 閱讀 2167

1、stack簡介

2、stack物件的預設構造

stack採用模板類實現, stack物件的預設構造形式: stack stkt; 

stack stkint;            //乙個存放int的stack容器。

stack stkfloat;     //乙個存放float的stack容器。

stack stkstring;     //乙個存放string的stack容器。

...                                    

//尖括號內還可以設定指標型別或自定義型別。

stack的push()與pop()方法

stack.push(elem);   //往棧頭新增元素

stack.pop();   //從棧頭移除第乙個元素

stackstkint; 

stkint.push(1);stkint.push(3);stkint.pop();  

stkint.push(5);stkint.push(7); 

stkint.push(9);stkint.pop();          

stkint.pop(); 

此時stkint存放的元素是1,5 

3、stack物件的拷貝構造與賦值

stack(const stack &stk);                 //拷貝建構函式

stack& operator=(const stack &stk);       //過載等號操作符

stackstkinta;

stkinta.push(1);

stkinta.push(3);

stkinta.push(5);

stkinta.push(7);

stkinta.push(9);

stackstkintb(stkinta);              //拷貝構造

stackstkintc;

stkintc = stkinta;                                 //賦值

4、stack的資料訪問

stackstkinta;

stkinta.push(1);

stkinta.push(3);

stkinta.push(5);

stkinta.push(7);

stkinta.push(9);

int itop = stkinta.top();             //9

stkinta.top() = 19;                      //19

5、stack的大小

stackstkinta;

stkinta.push(1);

stkinta.push(3);

stkinta.push(5);

stkinta.push(7);

stkinta.push(9);

if (!stkinta.empty())

參考:傳智掃地僧講義

STL容器之stack棧

棧 statck 這種資料結構在計算機中是相當出名的。棧中的資料是先進後出的 first in last out,filo 棧只有乙個出口,允許新增元素 只能在棧頂上增加 移出元素 只能移出棧頂元素 取得棧頂元素等操作。在stl中,棧是以別的容器作為底部結構,再將介面改變,使之符合棧的特性就可以了。...

STL特殊容器之stack

stack是一種先進後出 filo 的資料結構,它只有乙個出口。stack允許新增元素 移除元素 取得棧頂元素,除了棧頂元素,取不到其他元素,即棧不允許遍歷,也不提供迭代器。deque作為stack的底層容器,可以輕易的形成乙個stack。因此,sgi stl以deque作為預設情況下的stack的...

STL容器操作 string詳解

1 string概念 string和char 的比較 string封裝了char 管理這個字串,是乙個char 型的容器。string管理char 所分配的記憶體。每一次string的複製,取值都由string類負責維護,不用擔心複製越界和取值越界等。查詢find,拷貝copy,刪除erase,替換...