棧和佇列B題

2021-06-23 04:20:32 字數 1107 閱讀 3337

題目描述:

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

8

push 1

push 2

push 3

push 4

toppop

toppop

3push 1

poptop

sample output

4

3empty

#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壓...