演算法將順序棧中的元素依次取出,並列印元素,如何把它改成具體c語言程式

2022-01-19 07:13:55 字數 1254 閱讀 7438

1樓:匿名使用者

請輸入字串: love love

evol evol

press any key to continue#include

#include

#define n 100

typedef char sdatatype;

typedef struct stack stack;

stack *initstack()

ps->top = -1;

return ps;

}int isfull(stack *s)int push(stack *s,sdatatype x)int isempty(stack *s)int pop(stack *s, sdatatype *x)int main()

while(isempty(ms) == 0)printf("\n");

free(ms);

return 0;}

2樓:匿名使用者

入棧出棧函式有誤,按照你的例子,將「abcdefg」依次入棧,那你的datatype 的型別應該是字元,**如下:

#include

#include

#define max_num 100

struct

s;void push(char x)

else

}void pop (char *x)

else

}main()

char p1;

dowhile(p1 != '\0');}

3樓:匿名使用者

棧這種資料結構,可用通過一個結構體封裝,也可以不用。

push這個函式可以直接用。

下面按照你說的給一個例子,就用你給出的這段**,將這段**儲存可以直接編譯執行:

#include

#include

#define n 100

struct

s;void push(char x)

}void pop (char *x)

}int main()

;char x;

int i;

s.top = 0;

for(i = 0; i < (sizeof(str)/sizeof(char)); ++i)

putchar('\n');

for(i = 0; i < strlen(str); ++i)putchar('\n');

return 0;}

順序表逆置的演算法思想和演算法實現是什麼

試寫一演算法,實現順序表的就地逆置。即利用原表的儲存空間將線性表 a1,a2,an 逆置為 an,an 1,a1 實現專下列屬函式 void inverse sqlist l 順序表型別定義如下 typedef struct sqlist void inverse sqlist l typedef ...

棧的順序儲存空間s 1 m 是什麼意思

根據題意,棧空間如圖所示 也就是說,棧是向上增長的,每次壓入一個元素,棧的top指標向上移動一位。當壓入第一個元素時,top指標指向m 1 1 m當壓入第二個元素時,top指標指向m 1 2 m 1.以此類推,當壓入第n個元素時,top指標指向m 1 n 20則n m 1 20 m 19選c。設棧的...

怎樣理解作業系統中“棧”的概念

1.因為方便,畢竟在棧中弄一塊資料只要給esp加點數字就行了,區域性變數不值錢。堆就麻煩多了。2.對。這是資料棧的一個內建實現。但是你對區域性變數的理解有誤區,區域性變數訪問靠的是ebp暫存器,如果你反彙編就會看到進入一個函式首先會 push ebp 儲存ebp mov ebp,esp 將ebp用來...