那些年錯(cuò)過(guò)的數(shù)據(jù)結(jié)構(gòu)與算法(五)

本篇文章將結(jié)合《算法》第4版、業(yè)界大牛的博客和自己的理解,具體描述棧的一些概念,如有錯(cuò)誤,請(qǐng)大佬指出。如有侵權(quán),請(qǐng)聯(lián)系我刪除,謝謝。

1.基本概念

棧,實(shí)際上是一種特殊的線(xiàn)性表,它的插入和刪除運(yùn)算都只在線(xiàn)性表的一端進(jìn)行,而另一端是封閉的,不進(jìn)行任何操作。在棧中,允許進(jìn)行插入和刪除操作的一端稱(chēng)為棧頂,另一端則稱(chēng)為棧底。當(dāng)棧中沒(méi)有元素的時(shí)候稱(chēng)為空棧。由于棧的操作特殊性,棧也被稱(chēng)為“先進(jìn)后出”表或“后進(jìn)先出”表。

2.棧的特點(diǎn)

由棧的定義,容易得出棧的特點(diǎn):

  • 棧底元素總是最早被插入的元素,同時(shí)也是最晚被刪除的元素;
  • 棧頂元素總是最后被插入的元素,同時(shí)也是最早被刪除的元素;
  • 棧具有記憶作用;
  • 順序棧的插入和刪除運(yùn)算都不需要移動(dòng)表中其他的數(shù)據(jù)元素;
  • 棧頂指針動(dòng)態(tài)地反映了棧中元素的變化情況。

3.棧的順序存儲(chǔ)及其運(yùn)算

棧的基本運(yùn)算有3種:

  • 入棧運(yùn)算:即棧的插入,在棧頂位置插入一個(gè)新數(shù)據(jù)。
  • 出棧運(yùn)算:即棧的刪除,取出棧頂元素賦予指定變量。
  • 讀棧頂元素:即將棧頂元素的值賦給某個(gè)變量。

這一篇講的是棧的基本要點(diǎn),內(nèi)容不多,也容易理解。下一篇講隊(duì)列的一些概念和運(yùn)算。敬請(qǐng)期待哦<( ̄︶ ̄)>。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容