用C語言實現先進後出的資料結構 棧

2021-10-07 15:25:30 字數 1244 閱讀 7977

棧(stack)又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

typedef

struct stacks;

s *

create_stack()

因為建立的元素只能在棧頂進行入棧操作,所以也可將其稱為棧頂元素。

s *

create_new_elem

(int data)

//建立棧頂元素

void

push

(s *stack, s *new_elem)

//入棧

void

pop(s *stack)

//出棧,只允許在棧頂操作

else

}

int

top(s *stack)

//獲取棧頂元素

else

}

void

print_stack

(s *stack)

//列印整個棧內的元素

}

#include

#include

typedef

struct stacks;

s *create_stack()

s *create_new_elem

(int data)

//建立棧頂元素

void

push

(s *stack, s *new_elem)

//入棧

void

pop(s *stack)

//出棧,只允許在棧頂操作

else

}int

top(s *stack)

//獲取棧頂元素

else

}void

print_stack

(s *stack)

//列印整個棧內的元素

}int

main()

資料結構 用C語言實現順序棧的入棧,出棧,判斷棧空

順序棧,遵循先進後出後進先出原則。我在寫的時候,巨集定義的 firstsize 為建立乙個棧時這個棧的初始大小,這裡為100。addsize 為當棧滿時,再想入棧的話每次棧大小的增量,這裡用10來代替。create函式為建立棧函式。push為入棧函式。empty函式用來判斷 棧是否為空,print函...

資料結構 用C語言實現對陣列的操作

今天開始複習資料結構了,先從對陣列的操作開始。include include include struct arr 定義陣列的資料結構 void init struct arr array,int len 初始化陣列,使其擁有一塊確切的記憶體 bool is empty struct arr arr...

資料結構 佇列(C語言實現)

佇列 c語言實現 include include define queueisempty arg arg size 0 define queueisfull arg arg size arg capacity 判斷是否為空或為滿。巨集定義,函式調銷太大。佇列使用size和capacity顯式的判斷是...