C 之Stack容器初學

2021-07-26 21:54:48 字數 1722 閱讀 5527

stack簡介

² stack是堆疊容器,是一種「先進後出」的容器。

² stack是簡單地裝飾deque容器而成為另外的一種容器。

² #include

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  

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; //賦值

stack的資料訪問

² stack.top();   //返回最後乙個壓入棧元素

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

stack的大小

² stack.empty();   //判斷堆疊是否為空

² stack.size();      //返回堆疊的大小

stackstkinta;

stkinta.push(1);

stkinta.push(3);

stkinta.push(5);

stkinta.push(7);

stkinta.push(9);

if (!stkinta.empty())

int isize = stkinta.size(); //5

C 之stack容器使用

c stack 堆疊 是乙個容器的改編,它實現了乙個先進後出的資料結構 filo 使用該容器時需要包含 include標頭檔案 定義stack物件的示例 如下 stacks1 stacks2 stack的基本操作有 1.入棧 如s.push x 2.出棧 如 s.pop 注意 出棧操作只是刪除棧頂的...

C 中STL容器之棧 stack

1.棧 stack 基本介紹 棧是限定在僅在表尾進行插入或刪除操作的線性表,表尾端稱為棧頂 top 表頭端稱為 棧底 bottom 一般的棧如下圖所示,它的特點可用圖3.1 b 所示的鐵路排程站形象地表示 2.棧的基本用法 2.1 棧的定義方式 stacks 引數也是資料型別,這是棧的定義方式 st...

STL容器之stack棧

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