2 6 棧的應用 括號匹配問題

2021-10-08 18:18:02 字數 1429 閱讀 5580

目錄

1. 分析問題

2. 演算法詳細過程

3. 拓展!

拓展:ide是什麼!

ide的意思是integrated development environment,整合開發環境。

是用於提供程式開發環境的應用程式,整合了**編寫功能、分析功能、編譯功能、除錯功能等一體化的開發軟體服務套,所有具備這一特性的軟體或者軟體套都可以叫整合開發環境。

比如:microsoft visual studio(簡稱vs)是微軟公司的開發工具包系列產品。visual studio產品包含c++、c#和vb.net語言。

eclipse等。

(  (  (  (      )  )  )  )        ==>  最後出現的左括號最先被匹配  !!!  (lifo) 可用棧來實現這個特性!  

每當遇到乙個右括號的時候,就要消耗乙個左括號,( 對應出棧 ) 。 當遇到左括號就壓入棧中,遇到右括號的時候就把位於棧頂的左括號彈出!檢查是否配對 。  注:這裡的左括號包括 小括號、中(方)括號、大括號的(  [  。

小結:掃面到左括號就入棧,掃面到右括號就出棧!再檢查是否配對!

考試的時候是可以直接使用和資料結構相對應的基本操作,建議簡要說明介面!

這裡是使用了靜態陣列來存放資料元素,容易知道順序棧容量是固定不變的,如果給的括號串很長的話,可能出現棧溢位情況,所以在實際開發的過程中要實現這個**的話,可以採用鏈棧的方式來實現。

不過在考試中,用順序棧這種方式是沒有問題的(相對實現更簡單)

如果在這個**中並不是直接定義乙個棧,而是在函式裡面定義了乙個陣列和top 指標,那麼將基本操作去掉,把相應的邏輯對陣列和 top 指標直接的判斷和操作,怎麼處理??

棧的應用 括號匹配問題

typedef struct stack stack,pstack 單向鏈式儲存結構 void pushstack pstack stack,char str 左括號入棧 bool popstack pstack stack,char str 左括號出棧 非常簡單的出入棧操作 這裡就說下進棧操作不用...

括號匹配問題 棧的應用

pragma once ifndef stack h define stack h define datatype char define max size 20 typedef struct stack stack 初始化棧 void stackinit stack s 壓棧 void stack...

括號匹配問題(棧的應用)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 先了解一下棧...