从无到有算法养成篇-利⽤栈思想解决问题
生活随笔
收集整理的這篇文章主要介紹了
从无到有算法养成篇-利⽤栈思想解决问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、什么時(shí)候用到棧思想?
棧的思想應(yīng)?數(shù)據(jù)是線性的,問(wèn)題可以利?棧的特性先進(jìn)后出去解決問(wèn)題!
二:思想實(shí)戰(zhàn)
1.括號(hào)匹配檢驗(yàn):假設(shè)表達(dá)式中允許包含兩種括號(hào):圓括號(hào)與?括號(hào),其嵌套順序隨意,即() 或者[([][])]都是正確的.?這[(]或者(()])或者([()) 都是不正確的格式. 檢驗(yàn)括號(hào)是否匹配的?法可?”期待的急迫程度"這個(gè)概念來(lái)描述.例如,考慮以下括號(hào)的判斷: [ ( [ ] [ ] ) ]
思路:
s1:遍歷data,遍歷內(nèi)做s2、s4、s5操作,遍歷完進(jìn)行s6操作;
s2:取棧頂元素,檢查該元素是否左括號(hào),是的話(huà)做s3操作,不是根據(jù)條件s4或s5;
s3:判斷緊接其后的data[i]是否為右括號(hào),是->壓棧,否->出棧;
s4:在判斷棧頂元素的時(shí)候如果為#,判斷緊接其后的data[i]是否為左括號(hào),是->出棧;
s5:在判斷棧頂元素的時(shí)候如果為其他時(shí),返回失敗;
s6,判斷棧是否為空,是則返回成功 否則返回失敗。
代碼:
int ExecuteData(SqStack stack,char* data){Push(&stack,data[0]);for(int i=1;i<strle總結(jié)
以上是生活随笔為你收集整理的从无到有算法养成篇-利⽤栈思想解决问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Tableau必知必会之妙用Fixed函
- 下一篇: tableau必知必会之拖拽功能失效是怎