棧也是一種相當常見的資料結構。
簡單的來說,你可以這麼來理解棧,他就像是疊盤子一樣,用的時候從上面拿,少了就往上面放,當然,這就是打個 比方,能形象的理解就好。
理解棧
從上的比喻我們也能看出來,其實棧也是比較容易理解的。而且我們也可以很容易的得出這麼個想法:
-
棧也是線性表
-
它操作是受限的
-
操作也僅有一進一出
-
後來者居上,也就是先到後出,後到先出
-
單個端點的操作
至此,關於棧的基本解釋就結束了。相信基本上都明白一二了。
棧的應用
如果想更深入的瞭解棧,你就必須得用起來才行,或者說,至少知道別人是怎麼用的。接下來我會介紹一些應用 場景,感興趣可以自行了解哈。
-
函式呼叫棧,不錯,這個只要你接觸到程式設計,就一定會了解到這個的。如果有小夥伴感興趣,後續會以 JavaScript 為例,來介紹一下實際執行。
-
表示式求值,這也是本人接觸到棧的時候寫過的第一個關於棧的應用程式碼。
原文連結 傳送門
本作品採用《CC 協議》,轉載必須註明作者和本文連結