python實現迴圈列表

2022-06-13 23:27:16 字數 1709 閱讀 4738

class loop_queue2(object):

'''實現迴圈列表

'''def __init__(self,maxsize):

'''初始化,命令頭部元素的序號,尾部元素的序號,定義序列列表

:param maxsize: 傳入列表的最大長度

'''self.queue=[none]*maxsize

self.maxsize=maxsize

self.front=0

self.rear=0

def getsize(self):

'''獲取迴圈列表的長度

:return: 迴圈佇列的長度

'''return (self.rear-self.front+self.maxsize)%self.maxsize

def enqueue(self,data):

'''向迴圈佇列的隊尾插入資料

:param data: 插入的值

:return: none

'''if (self.rear+1)%self.maxsize==self.front:

print("the queue is full")

else:

self.queue[self.rear]=data

self.rear=(self.rear+1)%self.maxsize

def dequeue(self):

'''從隊首刪除乙個元素

:return: 刪除元素

'''if self.rear==self.front:

print("the queue is empty!")

else:

data=self.queue[self.front]

self.queue[self.front]=none

self.front=(self.front+1)%self.maxsize

return data

def showqueue(self):

'''列印出佇列

:return: none

'''for i in range(self.maxsize):

print(self.queue[i],end=",")

print("")

if __name__=="__main__":

q=loop_queue2(15)

for i in range(15):

q.enqueue(i)

q.showqueue()

for i in range(15):

q.dequeue()

q.showqueue()

for i in range(8):

q.enqueue(i)

q.showqueue()

print(q.front)

print(q.rear)

# print(q.dequeue())

#for i in range(15):

q.enqueue(i)

q.showqueue()

for i in range(15):

q.dequeue()

q.showqueue()

for i in range(8):

q.enqueue(i)

q.showqueue()

print(q.front)

print(q.rear)

c實現雙向迴圈列表

linklist2.c linklist 雙向迴圈鍊錶 include include define maxsize 100 define elemtype int elemtype a maxsize int n typedef struct node dnode,dlinklist dlinkl...

Python基礎四(for迴圈 列表)

列表i 0while i 5 i 1if i 3 break print i 輸出結果為 0 1 2i 0while i 5 i 1if i 3 continue print i 輸出結果為 1 2 4 5for迴圈語法 for 變數 in 序列 遍歷的規則 塊range start,stop st...

python使用迴圈列表實現佇列,自己管理列表

兄弟萌,話不多說,上 class queueunderflow valueerror pass class squeue def init self,init len 8 self.len init len 儲存區長度 self.elems 0 init len 元素儲存 self.head 0 表...