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

2022-03-17 14:27:09 字數 1147 閱讀 9039

**如下:

#include#includetypedef struct 

sqstack;

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

//建立乙個棧

#define stack_size 100

void initstack(sqstack *stack )

stack->top = stack->base;

stack->stacksize = stack_size;

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

//入棧操作

#define stack_more 10

void push(sqstack *stack , char c)

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

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

}*(stack->top) = c;

stack->top++;

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

//出棧操作

void pop(sqstack *stack , char *c)

*c = *--(stack->top);

}int main()

}printf("壓入字元完成,正在列印字串...\n");

for (size_t i = 0; i < (stack.top - stack.base); i++)

putchar('\n');

printf("請輸入要彈出幾個字元:");

int k;

scanf("%d",&k);

while (k)

printf("彈出字元完成,正在列印字串...\n");

for (size_t i = 0; i < (stack.top - stack.base); i++)

putchar('\n');

return 0;

}

執行結果:

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

1.棧頂是沒有元素的,棧頂是乙個空值 2.把乙個元素壓進棧時,不要給棧頂的位址賦值,而是賦值給指標 例如 你在結構體中定義了 char top 那麼你要把元素date賦值給 top,而不是top 賦值完成後,top 因為棧頂沒有值 如下 include includetypedef struct s...

資料結構 棧(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 定義基本操...