資料結構 隨看 棧 補

2021-10-02 19:39:42 字數 2071 閱讀 5606

棧:先入後出,pushpop

模板:

stack

s =newstack

<

>()

; s.

push()

; s.

pop(

);

最小棧

設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。

示例:

minstack minstack =

newminstack()

;minstack.

push(-

2);minstack.

push(0

);minstack.

push(-

3);minstack.

getmin()

;--> 返回 -

3.minstack.

pop();

minstack.

top();

--> 返回 0.

minstack.

getmin()

;--> 返回 -

2.

code

class

minstack

public

void

push

(int x)

else}}

public

void

pop()if

(!stack.

empty()

)else

throw

newruntimeexception

("-1");

}public

inttop()

else

throw

newruntimeexception

("-1");

}public

intgetmin()

else

throw

newruntimeexception

("-1");

}}

有效的括號

給定乙個只包括'('')''''['']'的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

示例 5:

輸入:

""輸出:

true

code

class

solution',

'else

if(stack.

isempty()

||stack.

peek()

!= map.

get(s.

charat

(i))

)else}if

(stack.

isempty()

)else

}}

棧和dfs

《資料結構》實驗三 棧和佇列實驗 補

2 自己選擇順序或鏈式儲存結構,定義乙個空棧佇列,並定義入棧 出棧 取棧元素基本操作。然後在主程式中對給定的n個資料進行驗證,輸出各個操作結果。標頭檔案 ifndef linkqueue h define linkqueue h template struck node template class...

資料結構 棧 棧

可以把棧想像成乙個桶 進棧 就是把和桶口一樣大的燒餅往桶裡面扔 出棧 就是把燒餅拿出來 特點 先進後出。先扔進去的燒餅最後才能拿出來,最後扔進去的燒餅,第乙個拿出來 剛開始top 1 top 1 然後把進棧的元素賦值給data top 入棧操作 void push stack s,int x els...

資料結構 棧

例子 棧是一種被限制在只能在表的一端進行插入和刪除運算的線性表。區域性變數是用棧來儲存的 可以進行插入和刪除的一端稱為 棧頂 top 另一端稱為 棧底 bottom 當表中沒有元素時 表長為0的棧 稱為 空棧。棧的修改是按 後進先出的原則進行,因此棧被稱為後進先出 last in first out...