数据结构中的栈
整理衣服時(shí),先放冬天的衣服,后放夏天的衣服,這樣夏天的衣服就在上面,方便夏季取用。
棧(stack),有些地方稱為堆棧,是一種容器,可存入數(shù)據(jù)元素、訪問(wèn)元素、刪除元素,它的特點(diǎn)在于只能允許在容器的一端(稱為棧頂端指標(biāo),英語(yǔ):top)進(jìn)行加入數(shù)據(jù)(英語(yǔ):push)和輸出數(shù)據(jù)(英語(yǔ):pop)的運(yùn)算。沒(méi)有了位置概念,保證任何時(shí)候可以訪問(wèn)、刪除的元素都是此前最后存入的那個(gè)元素,確定了一種默認(rèn)的訪問(wèn)順序。
由于棧數(shù)據(jù)結(jié)構(gòu)只允許在一端進(jìn)行操作,因而按照后進(jìn)先出(LIFO, Last In First Out)的原理運(yùn)作。
棧結(jié)構(gòu)實(shí)現(xiàn)
棧可以用順序表實(shí)現(xiàn),也可以用鏈表實(shí)現(xiàn)。
棧的操作
- Stack() 創(chuàng)建一個(gè)新的空棧
- push(item) 添加一個(gè)新的元素item到棧頂
- pop() 彈出棧頂元素
- peek() 返回棧頂元素
- is_empty() 判斷棧是否為空
- size() 返回棧的元素個(gè)數(shù)
總結(jié)
- 上一篇: java中存在对多个对象加锁的情况_Ja
- 下一篇: python中主要内建函数