資料結構基礎篇 6 2 棧的鏈式儲存

2021-08-29 18:46:28 字數 730 閱讀 1875

//鏈式棧的實現(類似與單鏈表)

#include #include //定義資料型別

typedef int datatype_t;

//定義結構體

typedef struct nodelinkstack_t;

//建立乙個空的棧

linkstack_t *linkstack_create()

//判斷棧是否為空

int linkstack_empty(linkstack_t *s)

//入棧(壓棧)(單鏈表的頭插法)

int linkstack_push(linkstack_t *s, datatype_t value)

//列印資料

int linkstack_show(linkstack_t *s)

putchar(10);

return 0;

}//出棧(彈棧) (類似與單鏈表的頭刪法)

datatype_t linkstack_pop(linkstack_t *s)

temp = s->next;

s->next = temp->next;

value = temp->data;

free(temp);

temp = null;

return value;

}int main(int argc, const char *argv)

《資料結構 棧》鏈式儲存

一 鏈式儲存 和 順序結構 對比?棧的 順序結構 與 鏈結構,他們在時間複雜度上都一樣,都為o 1 如果棧的數量可預知,則使用順序棧,否則,則使用鏈棧 鏈棧 要求每個元素都有指標域,增加了記憶體開銷,但對於長度無限制。二 棧 鏈式結構 棧的 順序結構 與 鏈結構,他們在時間複雜度上都一樣,都為o 1...

資料結構 棧 棧的鏈式儲存結構

資料結構 棧 棧的鏈式儲存結構 用頭插法建立的鏈棧,棧頂元素為s next所指結點 date 2017 4 14 include include define initsize 100 define elemtype char typedef struct lnode linkstack void ...

資料結構 棧的鏈式儲存

目標效果 stack.h頁面 ifndef stack h included define stack h included ifndef elemtype define elemtype int 資料元素型別預設為 int define elemtype tag endif 鏈棧的儲存結構定義 t...