C語言實現鏈棧

2021-09-22 18:18:24 字數 1100 閱讀 8096

不多說,直接上**

#include

#include

#define max 100

#define ok 1

#define error -1

#define stack_size 100

typedef

int elemtype;

//資料庫

elemtype data[5]

=;elemtype number;

//鏈棧的節點描述

struct list_stack

;typedef

struct list_stack node;

typedef node *link;

//初始化棧

link stack=

null

;//進棧

link push

(link stack,elemtype data)

else

return stack;

}//出棧,返回棧頂節點的指標,並把棧頂節點的值賦給全域性變數number

link pop

(link stack)

else

return stack;

}//列印棧

void

printf_list_stack

(link stack)

while

(pointer!=

null)}

//銷毀棧

void

free_stack

(link stack)

}int

main

(int argc,

char

*ar**)

break

;case2:

break

;case3:

break;}

}while

(temp!=4)

;free_stack

(stack)

;printf()

;printf

("\n");

return0;

}

C語言實現鏈棧

鏈棧顧名思義,採用鍊錶實現,其優點是不存在棧滿上溢位的情況,其操作都是在頭結點之後進行的,入棧類似與頭插法建立鍊錶。注意頭結點與棧頂節點的區別,在沒有元素入棧時,棧僅有初始化的乙個頭結點,判斷其是否為空只需判斷s next是否為null。下面用c語言 實現了鏈棧的基本操作 執行環境 vs2017 執...

c語言實現鏈棧

c語言 棧的鏈式表示與實現 採用順序儲存的棧也具有順序表類似的缺點 採用順序儲存的棧,即順序棧的儲存空間無法事先確定,如果棧空間分配過小,可能會造成溢位 如果棧空間分配過大,又容易造成儲存空間浪費,因此可以採用鏈式儲存結構表示棧 include includetypedef int elemtype...

C語言實現鏈棧

我自己寫的 部分 1 include2 include3 include 4 typedef struct node 5lstack,lpstack 910 void initstack lstack top 1116 17int push lstack top,char e 18 26 p nex...