算法05-棧和隊(duì)列

棧(stack)

有些地方稱為堆棧,是一種容器,可以存入數(shù)據(jù)元素,訪問元素,刪除元素,它的特點(diǎn)在于只能允許容器的一端? ? (稱為棧頂端指標(biāo):top),進(jìn)行加入數(shù)據(jù)(push)和輸出數(shù)據(jù)(pop)的運(yùn)算。沒有了位置的概念,保證任何時(shí)候都可以訪問,刪除的元素都是此前最后存入的那個(gè)元素,確定了一種默認(rèn)的訪問順序。

由于棧數(shù)據(jù)結(jié)構(gòu)只允許在一端進(jìn)行操作,因而按照后入先出(LIFO,全面last in first out)的原理運(yùn)作


棧的實(shí)現(xiàn)


隊(duì)列(queue):

1、只允許在一端進(jìn)行插入操作,而在另一端進(jìn)行刪除(或取出)的操作

2、隊(duì)列是一種先進(jìn)先出的(first in first out)的線性表,簡稱FIFO。允許插入的一端為隊(duì)尾,允許刪除的一端為隊(duì)首、

3、隊(duì)列不允許在中間進(jìn)行插入操作。

q = (a1, a2.....an)?

a1為隊(duì)首,刪除總是在這一端,an為隊(duì)尾,屬于添加(插入)端


隊(duì)列的實(shí)現(xiàn)



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

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