c語言實現棧與鏈棧

2021-10-08 06:45:18 字數 1507 閱讀 6467

#include

#include

#define max 100

//陣列最大空間

typedef

struct

stack;

intisfull

(stack *l)

intisempty

(stack *l)

void

initialize

(stack *l)

//初始化順序棧

char

top(stack *l)

//返回棧頂元素的值

void

push

(stack *l,

char e)

//壓棧

l->maxsize=

2*l->maxsize;

free

(oldarr);}

l->array[

++l->top]

=e;}

void

pop(stack *l)

l->top--;}

;void

clear

(stack*l)

void

destory

(stack*l)

intmain()

printf

("逐個出棧:");

while(!

isempty

(&s)

)printf

("\n");

destory

(&s)

;return0;

}

#include

#include

typedef

char elemtype;

typedef

struct

node;

typedef

struct

linkstack;

void

initialize

(linkstack *s)

//初始化棧,使其為空棧

intisempty

(linkstack *s)

//棧為空返回1,否則返回0

char

top(linkstack *s)

void

push

(linkstack *s,

char e)

void

pop(linkstack *s)

void

clear

(linkstack *s)

}int

main()

printf

("將棧中結點逐個出棧: ");

while(!

isempty

(&s)

)printf

("\n");

return0;

}

這裡的話主要也就是**,因為仔細看也不難。用的話也可以修改main函式。

C語言實現鏈棧

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

C語言實現鏈棧

不多說,直接上 include include define max 100 define ok 1 define error 1 define stack size 100 typedef int elemtype 資料庫 elemtype data 5 elemtype number 鏈棧的節點...

c語言實現鏈棧

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