在大學裡學習了乙個學期了,大家大都對所學的專業有了基本的了解。許多同學也已經知道了到大二要開一門課叫做《資料結構》,那麼今天給你們提前講一下乙個最簡單的資料結構:棧。 棧的基本操作有3種:push,pop,top。
例如,給你乙個數列:1 2 3 4
push:向棧中加入乙個數,比如push 5,數列就變成1 2 3 4 5。
pop:從棧中刪除最後面的數,比如 pop,數列就變成1 2 3。(數列變化,但是不輸出。如果棧是空的,即不能 pop 操作,那就輸出 error ,但是接下來的操作還是要繼續的)。
top:找出棧最後面的數,比如 top ,你就要輸出4。(如果棧中沒有數的話,即不能 top 操作,那就輸出 empty)。
然後,你們可以看出來了吧,其實棧就是乙個先進後出(越先進去的元素越後面出來)的資料結構,很簡單吧,下面要檢驗下你們的學習效果了。
輸入包含多組測試資料.
每組資料的第一行為乙個整數 t(1 <= t <= 1000 ),接下來 t 行為對棧的操作。
如果操作是top,那麼輸出最後面的數,如果棧中沒有數的話,那就輸出「empty」(不含引號)。
如果操作是pop且棧是空的,那麼輸出 「error」(不含引號)。
在每組測試資料的最後多加一次換行。
8push 1
push 2
push 3
push 4
toppop
toppop
3push 1
poptop
43empty
運用棧的思想很簡單就出來了,注意換行和清空棧。
#include#include#include#include#includeusing namespace std;
int main()
while(t--)
if(strcmp(a,"top")==0)
else
}if(strcmp(a,"pop")==0)
else}}
printf("\n");
}return 0;
}
傳說中的資料結構
description 在大學裡學習了乙個學期了,大家大都對所學的專業有了基本的了解。許多同學也已經知道了到大二要開一門課叫做 資料結構 那麼今天給你們提前講一下乙個最簡單的資料結構 棧。棧的基本操作有3種 push,pop,top。例如,給你乙個數列 1 2 3 4 push 向棧中加入乙個數,比...
傳說中的資料結構
problem description 在大學裡學習了乙個學期了,大家大都對所學的專業有了基本的了解。許多同學也已經知道了到大二要開一門課叫做 資料結構 那麼今天給你們提前講一下乙個最簡單的資料結構 棧。棧的基本操作有3種 push,pop,top。例如,給你乙個數列 1 2 3 4 push 向棧...
傳說中的資料結構
problem description 在大學裡學習了乙個學期了,大家大都對所學的專業有了基本的了解。許多同學也已經知道了到大二要開一門課叫做 資料結構 那麼今天給你們提前講一下乙個最簡單的資料結構 棧。棧的基本操作有3種 push,pop,top。例如,給你乙個數列 1 2 3 4 push 向棧...