題目描述:
description
在大學裡學習了乙個學期了,大家大都對所學的專業有了基本的了解。許多同學也已經知道了到大二要開一門課叫做《資料結構》,那麼今天給你們提前講一下乙個最簡單的資料結構:棧。 棧的基本操作有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)。
然後,你們可以看出來了吧,其實棧就是乙個先進後出(越先進去的元素越後面出來)的資料結構,很簡單吧,下面要檢驗下你們的學習效果了。
input
輸入包含多組測試資料.
每組資料的第一行為乙個整數 t(1 <= t <= 1000 ),接下來 t 行為對棧的操作。
output
如果操作是top,那麼輸出最後面的數,如果棧中沒有數的話,那就輸出「empty」(不含引號)。
如果操作是pop且棧是空的,那麼輸出 「error」(不含引號)。
在每組測試資料的最後多加一次換行。
sample input
8push 1
push 2
push 3
push 4
toppop
toppop
3push 1
poptop
sample output
43empty
#include
#include
#include
int main()
if(strcmp(str,"pop")==0)
if(strcmp(str,"top")==0)
}printf("\n");
}return 0;
}
刷題 棧和佇列
一 因為有太多遺忘的東西了,所以做題速度會很慢 現在理解題目,把題目理解好了,然後去看題解,看完題解,在去搜尋相關知識點進行補充。二 題目 三 理解 棧 先進後出 佇列 先進先出 要滿足題目的要求,我們要把棧底輸出出來,我們可以把棧倒著輸出,就可以滿足佇列的先進先出。所以我們需要兩個棧來,第乙個棧是...
問題 B 不同出棧情況 棧和佇列
分析 本題第一反應便是無從下手。同時通過不斷在紙上模擬,會自然地想到回溯這方面去。但是怎麼回,確實乙個問題。n個元素是依次進去棧的。即只有將第i個元素進棧,第i 1個元素才會執行進棧操作。我們可以想到,在第i個元素進棧後,每一步操作,有且只有兩種情況 第一種第i 1個元素進棧。第二種第i個元素出棧 ...
程式設計題 關於棧和佇列
目錄 實現棧的求最小值函式 劍指歐肥兒 棧的壓入,彈出序列 劍指歐肥兒 用兩個棧實現佇列 劍指歐肥兒 滑動視窗的最大值 劍指歐肥兒 class solution 思路 宣告兩個棧,乙個是放所有值的棧 stackin 乙個是頂部放最小值的棧 stackmin 壓入時,兩個棧都要壓入數,stackin壓...