資料結構C語言實現 入棧操作

2022-03-17 14:51:21 字數 859 閱讀 4830

1.棧頂是沒有元素的,棧頂是乙個空值

2.把乙個元素壓進棧時,不要給棧頂的位址賦值,而是賦值給指標

例如:你在結構體中定義了 char *top;

那麼你要把元素date賦值給*top,而不是top

賦值完成後,top++,因為棧頂沒有值

**如下:

#include#includetypedef struct 

sqstack;

//////////////////////////////

//建立乙個棧

#define satck_init_size 100

void initstack(sqstack *stack)

stack->top = stack->base;

stack->stacksize = satck_init_size;

}/////////////////////////////

//入棧操作

#define stack 10

void push(sqstack *stack , char c)

stack->top = stack->base + stack->stacksize;

stack->stacksize = stack->stacksize + stack;

}*(stack->top) = c;//stack->top是乙個位址,而*(stack->top)是乙個char型別的變數

stack->top++;//位址加一

}int main()

執行結果:

資料結構C語言實現 出棧操作

如下 include includetypedef struct sqstack 建立乙個棧 define stack size 100 void initstack sqstack stack stack top stack base stack stacksize stack size 入棧操作...

資料結構 棧(C語言實現)

定義 一種先進後出的資料結構 實現 標頭檔案 include include typedef struct node 定義節點 pnode,node typedef struct stack 定義棧 stack,pstack 棧的初始化 void init pstack ps else 判斷棧非空 ...

資料結構棧的基本操作實現 C語言實現

棧的基本操作的實現 棧 是一種受限的鍊錶只允許在同一端插入 入棧 push 和刪除 出棧 pop 所以棧遵循先進後出的原則 棧的基本操作的實現如下 include include typedef int elementtype typedef struct node node,stack 定義基本操...