新手學習資料結構與演算法 堆疊基本操作

2021-06-01 02:14:37 字數 1183 閱讀 3759

堆疊的基本操作還是比較簡單的:

//堆疊及其應用

/* 主要是兩種:順序棧和鏈棧

*/ /*

順序棧的基本操作 :

1、置空棧

2、判棧空

3、判棧滿

4、取棧頂元素

5、入棧

6、出棧

*/ #include #include #define maxlen 100

typedef struct

seqstack;

seqstack * initstack(seqstack * s) //置空棧

seqstack * setstack() //建乙個空棧

int stackempty(seqstack * s) //順序棧判棧空

int stackfull(seqstack * s) //順序棧判棧滿

int gettop(seqstack * s) //取棧頂元素

void push(seqstack * s, int x) //元素入棧

else

printf("error");

} void pop(seqstack * s) //元素出棧 /*

鏈棧 的基本操作 (跟單鏈表的操作有很多相似之處)

(鏈棧不存在棧滿的情況)

鏈棧其實是乙個棧中元素按其邏輯順序鏈結在一起的單鏈表

頭結點為棧頂,尾結點為棧底

*/typedef struct node

linkstack;

linkstack * setstack2() //建立空鏈棧

int stackempty2(linkstack *l) //判棧滿

int gettop2(linkstack *l) //取棧頂元素

linkstack * push2(linkstack *l, int x) //元素入棧

linkstack * pop2(linkstack *l) //元素出棧

else

printf("空棧!");

} int main()

資料結構與演算法 堆疊

定義 具有一定操作約束的線性表,只在一段做插入,刪除,先出 adt 型別名稱 堆疊 stack 資料物件集 乙個有0個或多個元素的有窮鍊錶 操作集 初始化空堆疊,判斷是否已滿,是否為空,插入和刪除 堆疊的順序儲存結構通常由乙個一維陣列和記錄棧頂元素位置的變數組成。define struct snod...

用python學習資料結構與演算法 堆疊

堆疊 堆疊 stack 是一種後進先出 lifo 的線性資料結構,對堆疊的插入和刪除操作都只能在棧頂 top 進行。棧和佇列主要用於計算過程中儲存臨時資料。堆疊 adt 抽象資料型別 一般提供以下介面 stack 建立堆疊 push item 向棧頂插入項 pop 返回棧頂的項,並從堆疊中刪除該項 ...

PTA 資料結構與演算法 堆疊

1.棧底元素是不能刪除的元素。1分 tf 2.對順序棧進行進棧 出棧操作不涉及元素的前 後移動問題。1分 tf 3.若用data 1 m 表示順序棧的儲存空間,則對棧的進棧 出棧操作最多只能進行m次。1分 tf 4.通過對堆疊s操作 push s,1 push s,2 pop s push s,3 ...