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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python数据结构-栈和队列的实现

發(fā)布時(shí)間:2023/12/10 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python数据结构-栈和队列的实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、棧(后進(jìn)先出(last in first out,LIFO))

棧是一種特殊的列表,棧內(nèi)的元素只能通過列表的一端訪問,這一端稱為棧頂。棧被稱為一種后入先出(LIFO,last-in-first-out)的數(shù)據(jù)結(jié)構(gòu)。

由于棧具有后入先出的特點(diǎn),所以任何不在棧頂?shù)脑囟紵o(wú)法訪問。為了得到棧底的元素,必須先拿掉上面的元素。

對(duì)棧的兩種主要操作是將一個(gè)元素壓入棧和將一個(gè)元素彈出棧。入棧使用push()方法,出棧使用pop()方法。

stack通常的操作:

1

2

3

4

5

6

Stack()??? 建立一個(gè)空的棧對(duì)象

push()???? 把一個(gè)元素添加到棧的最頂層

pop()????? 刪除棧最頂層的元素,并返回這個(gè)元素

peek()???? 返回最頂層的元素,并不刪除它

isEmpty()? 判斷棧是否為空

size()???? 返回棧中元素的個(gè)數(shù)

這里使用python的list對(duì)象模擬棧的實(shí)現(xiàn):

class Stack:"""模擬棧"""def __init__(self):self.items = []def isEmpty(self):return len(self.items) == 0def push(self, item):self.items.append(item)def pop(self):return self.items.pop()def peek(self):if not self.isEmpty():return self.items[len(self.items) - 1]def size(self):return len(self.items)s = Stack() print(s.isEmpty())s.push(11) print(s.peek()) print(s.size())

?

2、隊(duì)列:先進(jìn)先出(First-In-First-Out,FIFO)

import queue if __name__ == '__main__':A = queue.Queue()A.put(11)A.put(3)print(A.qsize())print(A.get())

參考:

 https://www.cnblogs.com/zhaoding/p/6491488.html

? ?https://www.jb51.net/article/140534.htm

總結(jié)

以上是生活随笔為你收集整理的python数据结构-栈和队列的实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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