不多說,直接上**
#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...