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