資料結構 鏈棧的基本操作 C語言

2021-08-13 08:52:16 字數 1300 閱讀 9325

棧的特點:先進後出。

鏈棧

(1):棧底即鍊錶的最後乙個結點,而棧頂總是鍊錶的第乙個結點。因此:新入棧元素即為鍊錶新的第乙個結點。

(2):乙個鏈棧可由棧頂指標top唯一確定。如下圖給出了鏈棧中元素與top的關係。

(3):採用帶頭節點的單鏈表實現棧。因為:鏈棧的插入和刪除僅在表頭位置進行,所以表頭指標top就作為棧頂指標。

鏈棧的c語言定義為:

typedef int elemtype;

typedef struct stacknode

linkstacknode, *linkstack;

入棧,出棧的思想就不敘述了。**如下:

#include #include #define true 1

#define false 0

typedef int elemtype;

typedef struct stacknode

linkstacknode, *linkstack;

linkstack create_linkstack(); /*頭插法建立鏈棧.*/

int push_linkstack(linkstack top,elemtype x); /*入棧*/

elemtype pop_linkstack(linkstack top); /*出棧.*/

void print_linkstack(linkstack top); /*列印棧內元素.*/

int main()

linkstack create_linkstack() /*頭插法建立鏈棧.*/

return top; }

int push_linkstack(linkstack top,elemtype x) /*入棧*/

elemtype pop_linkstack(linkstack top) /*出棧.*/

void print_linkstack(linkstack top)

printf("\n");

}

執行結果如下:

小結:一點一滴,記錄向前。

資料結構 鏈棧和順序棧的基本操作(C語言)

資料結構 鏈棧和順序棧的基本操作 c語言 對於棧,也是線性表的一種,其特點是先進 或者後進先出,就如同在手槍彈夾裡裝子彈一樣。只能在棧頂部刪除或者插入。棧分為 鏈棧 和 順序棧 順序棧的基本操作 順序棧 結構體型別 define maxsize 10typedef int stackdatatype...

資料結構的鏈棧基本操作

本程式主要是實現 建立空棧 進棧 出棧 清空棧 判空 取棧頂元素 取棧底元素 獲取棧元素長度 銷毀 include include include linkstack.h int main void pushstack mystack,100 pushstack mystack,200 pushst...

鏈棧 資料結構 c語言

這是棧的結構 進棧示意 出棧示意 這是乙個鏈棧,注意與順序棧的區分 include stdio.h include stdlib.h define maxsize 100 typedef struct snode link void menu void link initialize void 初始...