1. 程式人生 > >python學習記錄-- 資料結構----佇列

python學習記錄-- 資料結構----佇列

class Queen():
    def __init__(self,size):
        self.queen = []  #隊體為空列表
        self.size = size
        self.head = 0  #隊首為0
        self.tail = 0  #隊尾為0
    def isEmpty(self):
        if self.head == self.tail:  #隊首,隊尾相同時,為空
            return True
        else:
            return False
    def isFull(self):
        if self.tail == self.size: #隊尾與隊體相同時,已滿
            return True
        else:
            return False
    def push(self,obj):
        if self.isFull():  #入隊,當滿時,彈出已滿提示
            print "sorry,queen is full"
        else:
            self.queen.append(obj)  #新增內容入隊
            self.tail += 1 #隊尾位置加1
            
    def out(self):
        if self.isEmpty():  #出隊,為空時,彈出為空提示
            print "soffy,queen is empty!"
        else:
            self.tail -=1  #出隊,隊尾位置減1
            self.queen.pop(0) #去除隊首內容
            
    def show(self):
        print self.queen
if __name__ == '__main__':
    q = Queen(3)
    q.show()
    print q.isEmpty()
    q.push("A")
    q.show()  #['A']
    print q.head
    print q.tail
    q.push("B")
    q.show()  #['A', 'B']
    print q.head
    print q.tail
    q.push("C")  
    q.show()  #
['A', 'B', 'C']
    print q.head
    print q.tail
    q.out()  
    q.push("D")
    q.show() #['B', 'C', 'D']
    print q.head
    print q.tail
    q.push("E")
    q.show()  #sorry,queen is full
    print q.head
    print q.tail

相關推薦

python學習記錄-- 資料結構----佇列

class Queen():     def __init__(self,size):         self.queen = []  #隊體為空列表         self.size = size         self.head = 0  #隊首為0         self.tail = 0  #

python演算法與資料結構-佇列(44)

一、佇列的介紹   佇列的定義:佇列是一種特殊的線性表,只允許在表的頭部(front處)進行刪除操作,在表的尾部(rear處)進行插入操作的線性資料結構,這種結構就叫做佇列。進行插入操作的一端稱為隊尾,進行刪除操作的一端稱為隊尾。   佇列的型別:鏈式佇列,即用連結串列實現的佇列。靜態佇列:即用陣列實現的

【12】python 棧型資料結構模擬、佇列資料結構模擬

一、壓棧操作模擬 #__author:"吉*佳" #date: 2018/10/21 0021 #function:棧 # 棧:即是先進後出的一種資料結構 # (1)模擬壓棧操作 stack=[] flag=True while flag: temp = input("請輸入壓棧元素[

Python資料結構——佇列(queue)

先入隊的元素先出隊,即先進先出(first in first out,FIFO)。 在python中同樣可以使用列表,來構建一個佇列。 # -*- coding:utf-8 -*- # file: pyqueue.py # class PyQueue: # 建立佇

Python學習記錄——從入門到放棄】一、變數和簡單資料型別(上)

本文使用的書籍是《Python程式設計:從入門到實踐》 本文使用的是Python3.6 一、執行hello_world.py 這裡主要是演示了一下print函式的使用,新手主要是在Python版本與print函式上有出入,導致出錯。 還有就是在“中文雙引號”和"英文雙

Python學習記錄——從入門到放棄】一、變數和簡單資料型別(下)

本文使用的書籍是《Python程式設計:從入門到實踐》 本文使用的是Python3.6 四、數字 在Python中,數字分為整數型和浮點型,不管是整數型還是浮點型都適用於加(+)減(-)乘(*)除(/)。 並且,在Python中,乘方是使用符號**來表示的,求餘數使用

Python實現資料結構佇列約瑟夫環問題

問題描述: 人們站在一個等待被處決的圈子裡。 計數從圓圈中的指定點開始,並沿指定方向圍繞圓圈進行。 在跳過指定數量的人之後,執行下一個人。 對剩下的人重複該過程,從下一個人開始,朝同一方向跳過相同數量

Python資料結構——佇列

佇列是一種列表,不同的是佇列只能在隊尾插入元素,在隊首刪除元素。佇列用於儲存按順序排列的資料,先進先出,這點和棧不一樣,在棧中,最後入棧的元素反而被優先處理。可以將佇列想象成在銀行前排隊的人群,排在最前面的人第一個辦理業務,新來的人只能在後面排隊,直到輪到他們為止。 佇列是一

python學習記錄之---------資料處理(1)陣列/二維陣列的定義和使用

工具/版本(1)安裝環境:Windows7 64bit(2)使用版本Python3.7Python 列表(List)序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。定義陣列1、定義一維陣列d

python 學習記錄(7)-迴圈/結構化程式(氣泡排序)

1.1 while 迴圈 #!/usr/bin/python # -*- coding: UTF-8 -*- i = 1 while i <10:     i = i + 1     print i      # while迴圈 numbers = raw_input

併發無鎖佇列學習資料結構

提到平行計算通常都會想到加鎖,事實卻並非如此,大多數併發是不需要加鎖的。比如在不同電腦上執行的程式碼編輯器,兩者併發執行不需要加鎖。在一臺電腦上同時執行的媒體播放放器和程式碼編輯器,兩者併發執行不需要加鎖(當然系統呼叫和程序排程是要加鎖的)。在同一個程序中執行多

重讀《學習JavaScript資料結構與演算法-第三版》- 第5章 佇列

定場詩 馬瘦毛長蹄子肥,兒子偷爹不算賊,瞎大爺娶個瞎大奶奶,老兩口過了多半輩,誰也沒看見誰! 前言 本章為重讀《學習JavaSc

Python學習記錄-socket編程

pythonPython學習記錄-socket編程學習 python socketPython學習記錄-socket編程1. OSI七層模型詳解2. Python socket3. socket()函數4. TCP socket通信流程5. Python Internet 模塊1. OSI七層模型詳解以上圖見

Python學習記錄day5

process its 定義 return 不能 自己 多層裝飾器 環比 方式 1.多層裝飾器 多層裝飾器的原理是,裝飾器裝飾函數後,其實也是一個函數,這樣又可以被裝飾器裝飾。 編譯是從下至上進行的,執行時是從上至下進行。 #!/usr/bin/env python #

python學習記錄

pri data open 對稱 位置 sleep col pytho -- 一、集合: list_1 = [1,4,5,7,3,6,7,9] list_1 = set(list_1) list_2 = set([2,6,0,66,22,8,4]) #交集 list_

Python學習記錄

安裝 utm tro ont edi exploit blank char str 下載安裝 windows系統下Python環境的搭建 開發工具 PyCharm 一次獲得所有PYTHON工具 Python學習記錄

python 學習記錄

python 每天學習筆記#!/usr/bin/pytholn# -*- coding: UTF-8 -*-import mathimport sysdef print_13(): #for i in range(10): man_age = int(raw_input(‘enter input age:\

第一天Python學習記錄

clas 也有 python 開始 眼界 大數 log 設備 朋友 之前在學習大數據的時候接觸過Python基礎,今天開始系統學習Python開發知識了,開發基礎,主要是對課程的介紹,Alex侃侃而談,使我眼界大開,特別是看到美國的一些自動化設備的使用率比國內要普及很多,雖

第五天Python學習記錄

學習記錄 pre eve 記錄 語句 pytho spa 結束 就是 while循環 #第50次不打印,第60-80次打印對應值的平方 1 count = 0 2 3 while count <= 100: 4 if count == 50:

第是十一天Python學習記錄2

body 取出 記錄 多級嵌套 tde 字典 default 結構 keys 數據類型-字典 字典是一種key-value的數據類型,使用就像我們上學用的字典,通過筆劃、字母來查對應頁的詳細內容 特性: key-value 結構 key 必須可hash、且必須為不可變數據類