本篇文章將結(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)期待哦<( ̄︶ ̄)>。