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 表...