資料結構中的順序棧的進棧和出棧問題

2021-03-09 23:50:48 字數 838 閱讀 2206

1樓:匿名使用者

#include

#define stacksize 100typedef char datatype;

typedef struct

seqstack;

void initstack(seqstack *s)int stackempty(seqstack *s)int stackfull(seqstack *s)void push(seqstack *s,datatype x)s->data[++s->top]=x; }datatype pop(seqstack *s)return s->data[s->top--];

} int main(void)

while(i--)

printf("%c\t",pop(&ss));

return 0;}

2樓:咕嚕子

主要就是baipush函式du和pop函式的呼叫。

首先定義一個seqstack *型別的zhi指標並分dao配記憶體,用initstack初始化。

然後兩專個屬迴圈,一個壓棧,一個出棧,出棧的時候用函式stackempty判斷棧是否為空,列印出pop函式的返回值即可。

棧的順序結構和入棧、出棧演算法 20

3樓:匿名使用者

typedef struct sqstack;

*s.top++=e;

return ok;

棧的順序結構和入棧出棧演算法,棧的順序結構和入棧出棧演算法

typedef struct sqstack s.top e return ok 實現順序棧的入棧和出棧 include stdio.h include stdlib.h define stack init size 100 define stackincrement 10typedef struc...

資料結構鏈棧出棧的函式有問題,幫忙改一下!(C語言裡面取地址

flag pop s,e 這裡不該這樣呼叫,直抄接使用flag pop s,e 函式定義裡 表示引用實參,也即是說使用e物件本身進行運算,而如果沒有 則是使用e物件的拷貝進行運算 關於資料結構 c語言 鏈棧的問題 你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內...

關於資料結構c語言鏈棧的問題

你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內部沒有修改,所以專就進入死循屬環了,應該這麼改 while s null 用s 還有,print函式應該是不想修改鏈棧的吧,只是讀取。所以引數就不要用a的地址了,直接用a傳遞就行了,保證函式體內不會意外修改a。函式...