棧 鏈式結構 C語言

2021-10-10 03:05:47 字數 1053 閱讀 6730

由於是鏈式結構的棧,所以棧的容量基本上可是等於無限。

#include#includetypedef int datatype;

typedef struct node

stack;

void init_stack(stack *stack);

//壓棧

void stack_push(stack *stack, datatype data);

//出棧

bool stack_pop(stack *stack);

//顯示棧頂元素

datatype get_top(stack *stack);

//顯示棧內的所有元素

bool show_stack(stack *stack);

int main()

//初始化棧

void init_stack(stack *stack)

//壓棧

void stack_push(stack *stack, datatype data)

//出棧

bool stack_pop(stack *stack)

stack->next = p->next;

free(p);

stack->lengh --;

return true;

}//顯示棧頂元素

datatype get_top(stack *stack)

else

return stack->next->data;

}//顯示棧內的所有元素

鏈式棧 C語言資料結構

棧的鏈式儲存結構 棧的鏈式儲存結構與線性表的鏈式儲存結構相同,是通過由結點構成的單鏈表實現的。為操作方便我們使用無頭結點的單鏈表。此時棧頂為單鏈表的第乙個結點,整個單鏈表為乙個鏈棧。鏈棧的型別定義 typedef struct node linkstack 鏈棧結點型別 top 為棧頂,它唯一地確定...

鏈式結構棧

三 佇列的鏈式儲存結構 單鏈表 1 定義 1.使用有頭結點的單鏈表來模擬 2.使用head和rear指標來模擬佇列 3.head為佇列頭的前乙個節點,rear為隊尾節點 2 隊尾插入操作 在rear後面插入元素 3 刪除隊頭元素 刪除fhead的下乙個元素 如果刪除前只有乙個元素,那麼在刪除後要讓r...

C語言實現棧(鏈式棧)

由於棧的插入 刪除操作只能在一端進行,而對於線性鍊錶來說,在首端插入或 刪除比在尾端要容易一些,所以,將線性鍊錶的首端作為棧頂端,即將頭指標作為棧頂指標。1 結構體 1 typedef struct nodenode 56 typedef struct my stackstack 2 初始化 1 s...