日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

栈与队列

發(fā)布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 栈与队列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

由于棧數(shù)據(jù)結(jié)構(gòu)只允許在一端進行操作,因而按照后進先出(LIFO, Last In First Out)的原理運作。

棧結(jié)構(gòu)實現(xiàn)

棧可以用順序表實現(xiàn),也可以用鏈表實現(xiàn)。

棧的操作

  • Stack() 創(chuàng)建一個新的空棧
  • push(item) 添加一個新的元素 item 到棧頂
  • pop() 彈出棧頂元素
  • peek() 返回棧頂元素
  • is_empty() 判斷棧是否為空
  • size() 返回棧的元素個數(shù)
class Stack(object):"""棧"""def __init__(self):self.items = []def is_empty(self):"""判斷是否為空"""return self.items == []def push(self, item):"""加入元素"""self.items.append(item)def pop(self):"""彈出元素"""return self.items.pop()def peek(self):"""返回棧頂元素"""return self.items[len(self.items)-1]def size(self):"""返回棧的大小"""return len(self.items)if __name__ == "__main__":stack = Stack()stack.push("hello")stack.push("world")stack.push("itcast")print stack.size()print stack.peek()print stack.pop()print stack.pop()print stack.pop()

執(zhí)行過程如下:

隊列

隊列(queue)是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。

隊列是一種先進先出的(First In First Out)的線性表,簡稱 FIFO。允許插入的一端為隊尾,允許刪除的一端為隊頭。隊列不允許在中間部位進行操作!假設(shè)隊列是 q=(a1,a2,……,an),那么 a1 就是隊頭元素,而 an 是隊尾元素。這樣我們就可以刪除時,總是從 a1 開始,而插入時,總是在隊列最后。這也比較符合我們通常生活中的習慣,排在第一個的優(yōu)先出列,最后來的當然排在隊伍最后。

隊列的實現(xiàn)

同棧一樣,隊列也可以用順序表或者鏈表實現(xiàn)。

操作

  • Queue() 創(chuàng)建一個空的隊列
  • enqueue(item) 往隊列中添加一個 item 元素
  • dequeue() 從隊列頭部刪除一個元素
  • is_empty() 判斷一個隊列是否為空
  • size() 返回隊列的大小
class Queue(object):"""隊列"""def __init__(self):self.items = []def is_empty(self):return self.items == []def enqueue(self, item):"""進隊列"""self.items.insert(0,item)def dequeue(self):"""出隊列"""return self.items.pop()def size(self):"""返回大小"""return len(self.items)if __name__ == "__main__":q = Queue()q.enqueue("hello")q.enqueue("world")q.enqueue("itcast")print q.size()print q.dequeue()print q.dequeue()print q.dequeue()

雙端隊列

雙端隊列(deque,全名 double-ended queue),是一種具有隊列和棧的性質(zhì)的數(shù)據(jù)結(jié)構(gòu)。

雙端隊列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端隊列可以在隊列任意一端入隊和出隊。

操作

  • Deque() 創(chuàng)建一個空的雙端隊列
  • add_front(item) 從隊頭加入一個 item 元素
  • add_rear(item) 從隊尾加入一個 item 元素
  • remove_front() 從隊頭刪除一個 item 元素
  • remove_rear() 從隊尾刪除一個 item 元素
  • is_empty() 判斷雙端隊列是否為空
  • size() 返回隊列的大小

實現(xiàn)

class Deque(object):"""雙端隊列"""def __init__(self):self.items = []def is_empty(self):"""判斷隊列是否為空"""return self.items == []def add_front(self, item):"""在隊頭添加元素"""self.items.insert(0,item)def add_rear(self, item):"""在隊尾添加元素"""self.items.append(item)def remove_front(self):"""從隊頭刪除元素"""return self.items.pop(0)def remove_rear(self):"""從隊尾刪除元素"""return self.items.pop()def size(self):"""返回隊列大小"""return len(self.items)if __name__ == "__main__":deque = Deque()deque.add_front(1)deque.add_front(2)deque.add_rear(3)deque.add_rear(4)print deque.size()print deque.remove_front()print deque.remove_front()print deque.remove_rear()print deque.remove_rear()

轉(zhuǎn)載于:https://www.cnblogs.com/oneTOinf/p/11142480.html

總結(jié)

以上是生活随笔為你收集整理的栈与队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美bbbbb | 91精品久久久久久久久中文字幕 | 一级二级三级黄色片 | 亚洲av少妇一区二区在线观看 | 91在线观看视频网站 | 亚洲二区在线播放视频 | 免费无码av片在线观看 | 综合在线亚洲 | 色哟哟视频在线观看 | 精品伦精品一区二区三区视频密桃 | 亚洲色图欧美日韩 | 成年人网站免费看 | 亚洲AV成人无码精品久久盆瓶 | 一区二区三区四区免费视频 | 女人下边被添全过视频 | 欧美射射 | 精品免费囯产一区二区三区 | 成人毛片在线免费观看 | 狠色综合7777夜色撩人 | 日韩电影一区二区三区四区 | 性福宝av| 亚洲天堂影视 | 日本免费网址 | av中文天堂在线 | 欧美夜夜爽 | 黄色一级大片免费看 | h毛片| 欧美色图19p | 欧美一区二区三区色 | 18禁一区二区 | 免费视频爱爱太爽 | 国产乱码精品一区二区三区中文 | 精品人妻无码一区二区三区 | 99热在线只有精品 | 国产精品扒开腿做爽爽爽男男 | 91色啪| 欧日韩在线 | 亚洲欧美一区二区三区 | 女性裸体不遮胸图片 | 热99在线观看 | 中国性老太hd大全69 | 日韩视频欧美视频 | 国产乱xxⅹxx国语对白 | 一区二区视频免费在线观看 | 国产精品作爱 | 先锋资源国产 | 国产一区二区在线观看免费 | 性一交一乱一透一a级 | 黄色国产一级 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 成人涩涩软件 | 日本少妇一区二区 | 亚洲AV成人无码精电影在线 | 亚洲25p | 男人手机天堂 | 欧美亚洲视频在线观看 | 手机av中文字幕 | 日韩日韩日韩日韩日韩 | 一二三区av| 中文字幕成人 | 一本大道东京热无码 | 2018国产大陆天天弄 | 精品黑人一区二区三区国语馆 | 日韩精品无码一区二区三区久久久 | 国产99久久精品 | 日日摸夜夜添狠狠添久久精品成人 | 超碰公开在线观看 | 亚洲视频在线观看网站 | 日韩一区二区三区在线观看视频 | 国产精选一区二区三区 | av影视在线观看 | 中文字幕无码精品亚洲资源网久久 | avtt在线 | 1769国产精品视频 | 69网站在线观看 | 国产在线观看h | 婷婷激情在线 | 草草福利视频 | 双性皇帝高h喷汁呻吟 | 女儿的朋友4在线观看 | 日日摸夜夜添夜夜添高潮喷水 | 成人午夜免费福利 | 青青av在线| 插少妇视频| 亚洲v欧美v另类v综合v日韩v | 成人a区 | 国产激情无套内精对白视频 | 野花视频免费在线观看 | 日韩欧美中文字幕一区二区 | 91色网站 | 色一情一区二区三区四区 | 欧美日韩国产成人在线 | 国产精彩视频 | 精品国产69 | 激情av一区 | 亚洲一区二区三区加勒比 | 九九午夜视频 | 久久对白 | 偷拍第1页 |