資料結構筆記 棧

2021-09-29 06:33:21 字數 1585 閱讀 4321

一、棧的邏輯結構

棧:限定僅在表尾進行插入和刪除操作的線性表

空棧:

不含任何資料元素的棧。

允許插入和刪除的一端稱為

棧頂,另一端稱為

棧底。

示意圖:

二、順序棧的儲存結構及實現

其中top為順序棧棧頂指標。

進棧操作:top++;

出棧操作:top--;

判斷棧空:top==-1;

棧滿:top==maxsize-1;

const  int  max_size=100;

template class seqstack

入棧    void push(t x)
template void  seqstack::push ( t  x)

時間複雜度為o(1)

判斷棧空    bool empty()

template bool  seqstack::empty ()

時間複雜度o(1)

取棧頂    t gettop()

template t  seqstack::gettop ( )

時間複雜度o(1)

出棧    t pop()

template  t  seqstack:: pop ( )

時間複雜度o(1)

鏈棧的類宣告:

template class linkstack

; ~linkstack( );

void push(t x);

t pop( );

t gettop( );

bool empty( );

private:

node*top;

}

1.入棧

template void linkstack::push(t x)

2.出棧

template t linkstack::pop( )

3.鏈棧的析構

template linkstack::~linkstack( )

}

資料結構筆記 棧

作用s.empty 如果棧為空則返回true,否則返回false s.size 返回棧中元素的個數 s.top 返回棧頂元素,但不刪除該元素 s.pop 彈出棧頂元素,但不返回其值 s.push 將元素壓入棧頂 include include 棧需要新增標頭檔案 using namespace st...

資料結構筆記 棧

1.棧的構造 申請給定大小空間,將棧頂指標指向棧底。2.棧的初始化 將棧的棧頂指標指向棧底。3.棧的插入 先檢查是否棧滿,若棧滿,則報錯。否則將棧頂指標上移乙個單位,將元素插入棧頂。4。棧的刪除 先檢查是否棧空。若棧空,則報錯。否則,刪去棧頂元素,將棧頂下移乙個單位。1.棧的構造 申請一定大小的空間...

資料結構筆記4 棧

棧 stack 是限制僅在表的一端進行插入和刪除運算的線性表。1 通常稱插入 刪除的這一端為棧頂 top 另一端稱為棧底 bottom 2 當表中沒有元素時稱為空棧。3 棧為後進先出 last in first out 的線性表,簡稱為lifo表。棧的修改是按後進先出的原則進行。每次刪除 退棧 的總...