亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python雙端隊列的原理是什么

發布時間:2021-04-30 11:34:40 來源:億速云 閱讀:153 作者:小新 欄目:編程語言

這篇文章主要介紹python雙端隊列的原理是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

python的數據類型有哪些?

python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。

1、概念

具有隊列和棧性質的數據結構。雙端隊列的要素可以從兩端彈出,限定插入和刪除操作在表的兩端進行。雙端隊列可以在隊列的任何一端進出。

2、原理

雙端隊列是一種具有隊列和棧性質的數據結構。雙端隊列的元素可以從兩端彈出,有限的插入和刪除操作可以在隊列的兩端進行。可以理解為雙端隊列可以從隊列的兩端添加和刪除元素,我們可以在創建或實例雙端隊列時指定隊列的長度或大小。當隊列滿了,我們可以反向刪除過期元素(從前刪除),然后在隊列的末尾添加新元素。

3、實例

# -- encoding: utf-8 --
# @time:     2021/4/18 11:49
# @Author:  jsonLiu
# @Email:    xxxxxxxxx@qq.com
# @file:  deque
# 雙端隊列
"""
- Deque()創建一個空的雙端隊列。它不需要參數,且會返回一個空的雙端隊列。
- addFront(item)將一個元素添加到雙端隊列的前端。它接受一個元素作為參數,沒有返回值
- addRear (item)將一個元素添加到雙端隊列的后端。它接受一個元素作為參數,沒有返回值。
- popFront()從雙端隊列的前端移除一個元素。它不需要參數,且會返回一個元素,并修改雙端隊列的內容。
- popRear()從雙端隊列的后端移除一個元素。它不需要參數,且會返回一個元素,并修改雙端隊列的內容。
- isEmpty()檢查雙端隊列是否為空。它不需要參數,且會返回一個布爾值。
- size()返回雙端隊列中元素的數目。它不需要參數,且會返回一個整數。
"""
 
 
class Deque1:
    """假設雙端隊列的后端是列表位置0處"""
 
    def __init__(self):
        self.__list = []
 
    def isEmpty(self):
        # return self.__list == []
        return not self.__list
 
    def size(self):
        return len(self.__list)
 
    def add_front(self, item):
        """添加到雙端隊列前端"""
        self.__list.append(item)
 
    def add_rear(self, item):
        """添加到雙端隊列后端"""
        self.__list.insert(0, item)
 
    def pop_front(self):
        """從雙端隊列的前端移除一個元素"""
        return self.__list.pop(len(self.__list) - 1)
        # return self.__list.pop()
 
    def pop_rear(self):
        """雙端隊列的后端移除一個元素"""
        return self.__list.pop(0)
 
 
class Deque2:
    """假設雙端隊列的前端是列表位置0處"""
 
    def __init__(self):
        self.__list = []
 
    def isEmpty(self):
        # return self.__list == []
        return not self.__list
 
    def size(self):
        return len(self.__list)
 
    def add_front(self, item):
        """添加到雙端隊列前端"""
        self.__list.insert(0, item)
 
    def add_rear(self, item):
        """添加到雙端隊列后端"""
        self.__list.append(item)
 
    def pop_front(self):
        """從雙端隊列的前端移除一個元素"""
        return self.__list.pop(0)
 
    def pop_rear(self):
        """雙端隊列的后端移除一個元素"""
        # return self.__list.pop()
        return self.__list.pop(len(self.__list) - 1)
 
 
if __name__ == '__main__':
    d = Deque2()
    # d = Deque1()
    print(d.isEmpty())  # True
    d.add_rear(4)
    d.add_rear(3)
    d.add_front(2)
    d.add_front(1)
    print(d.size())  # 4
 
    d.add_rear(5)
    print(d.pop_rear())
    print(d.pop_front())

以上是“python雙端隊列的原理是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄樊市| 高邮市| 永春县| 东光县| 瑞安市| 河东区| 甘肃省| 商南县| 师宗县| 衡山县| 晴隆县| 宁海县| 黄龙县| 乌拉特前旗| 镇远县| 原平市| 西充县| 平利县| 桦南县| 会同县| 普格县| 伊宁县| 九龙城区| 临颍县| 冕宁县| 久治县| 中阳县| 烟台市| 金门县| 辽阳市| 包头市| 南陵县| 邮箱| 天津市| 宜都市| 平潭县| 祁连县| 宽甸| 中方县| 云林县| 渭源县|