堆疊的使用

2021-08-27 06:14:09 字數 960 閱讀 6294

一道acm的堆疊題,幾乎讓我複習了一晚上的資料結構,果斷ac了,上**

題目描述:堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。

輸入:對於每組測試資料,第一行是乙個正整數 n,0

輸出:對於每組測試資料,根據其中的命令字元來處理堆疊;並對所有的'a』操作,輸出當時棧頂的值,每個佔據一行,如果當時棧為空,則輸出'e』。當每組測試資料完成後,輸出乙個空行。

樣例輸入:

3

ap 5a4

p 3p 6o a

0

樣例輸出:

e

53

我的ac**:

#include #include struct stacknode

;typedef struct

linkstack;

void initstack(linkstack *s);

void push(linkstack *s, int x);

void pop(linkstack *s);

void stacktop(linkstack *s);

int main()

} printf("\n");

} return 0;

}void initstack(linkstack *s)

void push(linkstack *s, int x)

}void pop(linkstack *s)

}void stacktop(linkstack *s)

else

}

堆疊的使用

題目描述 堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。輸入 對於每組測試資料,第一行是乙個正整數 n,0 輸出 對於每組測試資料,根據其中的命令字元來處理堆疊 並對所有的 a ...

堆疊的使用

堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。對於每組測試資料,第一行是乙個正整數 n,0 對於每組測試資料,根據其中的命令字元來處理堆疊 並對所有的 a 操作,輸出當時棧頂的值...

堆疊的使用

一道acm的堆疊題,幾乎讓我複習了一晚上的資料結構,果斷ac了,上 題目描述 堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。輸入 對於每組測試資料,第一行是乙個正整數 n,0 輸...