1. 程式人生 > >python3佇列及迴圈佇列基本實現

python3佇列及迴圈佇列基本實現

class Queue(object):# 定義佇列類 為什麼加入object
    def __init__(self,size):
       self.size = size #定義佇列長度
       self.queue = []#儲存佇列 列表
    #返回物件的字串表示式 方便除錯
    def __str__(self):
        return str(self.queue)#什麼含義

    #初始化佇列
    #def init(self):
    #入隊
    def inQueue(self,n):
        if self.isFull():
            return
-1 self.queue.append(n)#列表末尾新增新的物件 #出隊 def outQueue(self): if self.isEmpty(): return -1 firstElement = self.queue[0] #刪除隊頭元素 self.queue.remove(firstElement) #刪除隊操作 return firstElement #刪除某元素 def delete(self,n,m): self.queue[n] = m #插入某元素
def inPut(self,n,m):#n代表列表當前的第n位元素 m代表傳入的值 self.queue[n] = m #獲取當前長度 def getSize(self): return len(self.queue) #判空 def isEmpty(self): if len(self.queue)==0: return True return False #判滿 def isFull(self): if len(self.queue) == self.size: return
True return False #if __name__ == '__main__':#如何使用? queueTest = Queue(10) for i in range(10): queueTest.inQueue(i) print('列表元素',queueTest) print('列表長度',queueTest.getSize()) print('判空',queueTest.isEmpty()) print('判滿',queueTest.isFull()) queueTest.inPut(1,20)#list【0】 = 2 queueTest.outQueue()#出隊 print('當前列表',queueTest) """ 結果: 列表元素 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 列表長度 10 判空 False 判滿 True 當前列表 [20, 2, 3, 4, 5, 6, 7, 8, 9] """

相關推薦

python3佇列迴圈佇列基本實現

class Queue(object):# 定義佇列類 為什麼加入object def __init__(self,size): self.size = size #定義佇列長度

佇列迴圈佇列(Java實現

package ch03; /* * 佇列類 */ public class MyQueue { // 底層實現是一個數組 private long[] arr; // 有效資料大小 private int elements; // 隊頭 priva

順序佇列基本演算法迴圈佇列

佇列的順序儲存結構型別描述如下: #define M 1000 QElemType queue[ M ]; int front, rear; 隊頭指標front指出實際隊頭元素所在位置的前一個位置,而隊尾指標rear指出實際隊尾元素所在的位置,初始時,佇列為空有front

順序佇列佇列基本操作實現

一、實驗目的 1、熟練佇列的結構特點,掌握佇列的順序儲存和鏈式儲存結構和實現。 2、 學會使用佇列解決實際問題。 二、實驗內容 自己確定結點的具體資料型別和問題規模: 分別建立一個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。 三、實驗步驟 1、依據實驗內

[從今天開始修煉資料結構]佇列迴圈佇列、PriorityQueue的原理實現

[從今天開始修煉資料結構]基本概念 [從今天開始修煉資料結構]線性表及其實現以及實現有Itertor的ArrayList和LinkedList [從今天開始修煉資料結構]棧、斐波那契數列、逆波蘭四則運算的實現 [從今天開始修煉資料結構]佇列、迴圈佇列、PriorityQueue的原理及實現 一、什麼是佇列  

佇列迴圈佇列基本操作

 一.鏈佇列 #include<iostream> #include<cstdlib> #include<stdio.h> #include<iomanip> #define OK 1 #define OVERFLOW 0

C++實現佇列迴圈佇列

一、佇列的操作: 、1、入隊(從尾入隊) 將值存入rear所代表的位置 rear = (rear + 1)% 陣列的長度   2、 出隊(頭部出隊) front = (front + 1)% 陣列的長度   3、 佇列是否為空 front 和 rear的值相等,則該

基於連結串列、陣列實現佇列迴圈佇列

佇列是一種先進先出的資料結構,它和棧的性質正好相反,但是兩者卻經常結合在一起實現一些特殊的操作。 1.佇列的介面 public interface QueueADT { //入隊 public void enqueue(Object element); //出隊 p

java佇列實現(順序佇列、鏈式佇列迴圈佇列

雙向順序佇列ArrayDeque和雙向鏈式佇列LinkedList,JDK已經包含,在此略。ArrayDeque包括順序棧和順序佇列,LinkedList包含鏈式棧和鏈式佇列。ArrayDeque和LinkedList都是執行緒不安全的。PriorityQueue優先佇列也

佇列基本操作(順序佇列迴圈佇列、鏈式佇列

        佇列也是一種線性表,是一種先進先出的線性結構。佇列只允許在表的一端進行插入(入隊)、刪除(出隊)操作。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。        佇列的基本操作包括: 初始化佇列:InitQueue(Q)

Javascript資料結構與演算法--佇列(順序佇列、優先佇列迴圈佇列)的實現與用法

前言 佇列和棧非常類似,前面已經講過了棧的實現與用法,現在我們來說說佇列。 佇列介紹 佇列遵循FIFO(First In First Out,先進先出)原則的一組有序的項。 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是

js-佇列使用-迴圈佇列實現擊鼓傳花

佇列是遵循FIFO(先進先出)原則。 迴圈佇列是修改版的佇列實現。 擊鼓傳花遊戲的程式碼如下: function Queue() {//佇列類 var items = []; this.enqu

阻塞佇列 wait notify模擬實現 BlockingQueue

一、阻塞佇列 阻塞佇列與普通佇列的區別在於,當佇列是空的時,從佇列中獲取元素的操作將會被阻塞,或者當佇列是滿時,往佇列裡新增元素的操作會被阻塞。試圖從空的阻塞佇列中獲取元素的執行緒將會被阻塞,直到其他的執行緒往空的佇列插入新的元素。二、wait notify實現阻塞

資料結構-佇列(2)-迴圈佇列

迴圈佇列   此前,我們提供了一種簡單但低效的佇列實現。 更有效的方法是使用迴圈佇列。 具體來說,我們可以使用固定大小的陣列和兩個指標來指示起始位置和結束位置。 目的是重用我們之前提到的被浪費的儲存。 設計迴圈佇列  

佇列——鏈佇列迴圈佇列

鏈佇列 轉載:https://www.cnblogs.com/muzijie/p/5655228.html 1 鏈佇列的儲存結構   將對頭指標front指向鏈佇列的頭結點,隊尾指標rear指向終端結點。 空佇列時,頭指標front和尾指標rear都指向頭結點。 &n

資料結構——佇列Queue(陣列佇列迴圈佇列)

什麼是佇列? 佇列是一種線性的資料結構【線性資料結構:陣列、棧、佇列】 相比陣列,佇列對應的資料操作是陣列的子集。 只能從一端(隊尾)新增元素,只能從另一端(隊首)取出元素。 陣列佇列 程式碼實現 Array陣列類 package cn.itcats.que

郝斌資料結構入門---P35---佇列迴圈佇列

郝斌資料結構入門---P35---佇列 線性結構的常見應用之一:佇列(頭部刪除,尾部插入) 定義:一種可以實現“ 先進先出 ”的儲存結構,佇列類似於排隊去買票(一端入,一端出) 分類:鏈式佇列(用連結串列實現),靜態佇列(用陣列實現),靜態佇列通常都必須是迴圈佇列。

棧、佇列優先順序佇列

抽象資料型別(ADT) 陣列、連結串列、樹等等都適用於資料庫應用中作資料記錄,常用來記錄對應於現實世界的資料;而棧、佇列及優先順序佇列更多地是作為程式設計師的工具來使用(用最合適的工具幹活),以簡化某些程式操作。 棧、佇列及優先順序佇列都可以使用陣列連結串列來實現,優先順序佇列通常使用堆實現。 在棧、佇

順序佇列佇列

一、實驗目的1.掌握佇列的連結儲存結構—鏈佇列以及順序儲存結構—順序佇列2.驗證鏈佇列的儲存結構和基本的實現3.驗證佇列的操作特性。二、實驗內容1.建立一個空佇列2.對已建立的佇列進行插入、刪除、取隊頭元素等操作三、設計與編碼1.理論知識定義鏈佇列和順序佇列的資料型別如入隊出

佇列佇列 Queue(一):順序佇列迴圈佇列

背景 沒什麼背景,就是想研究下佇列。 說明 什麼是佇列(Queue)? 佇列在生活中可謂是無處不在。最常見的就是去超市買菜稱重時大媽們排得賊長的佇列(這是理想情況,通常是圍成一圈),還有超市結賬的隊伍,還有以前食堂打飯的隊伍。是不是很有印象呢~~~ 那佇列有