一個使用Python實作佇列的練習。
佇列:
# making a queue through array (this queue can't be reusable)
'''
create 建立空佇列。
add 將新資料加入佇列的尾端,傳回新佇列。
delete 刪除佇列前端的資料,傳回新佇列。
front 傳回佇列前端的值。
empty 若佇列為空集合,傳回真,否則傳回偽。
'''
class queue:
# create
def __init__(self,MAXSIZE):
self.size = MAXSIZE
self.rear = self.front = -1
self.queue = [0] * MAXSIZE
print(self.queue)
def add(self,data):
if self.rear == self.size-1:
print('queue is full')
else:
self.rear += 1
self.queue[self.rear] = data
def delete(self):
if self.front == self.rear:
print('queue is empty')
else:
self.front += 1
self.queue[self.front] = 0
def front_value(self):
print(self.queue[self.front+1])
def isempty(self):
if all(flag == 0 for flag in self.queue):
return True
else:
return False
#create
q = queue(10)
>>>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
#isempty
q.isempty()
>>>True
#add
q.add(30)
q.add(50)
#show
q.queue
>>>[30, 50, 0, 0, 0, 0, 0, 0, 0, 0]
#show front value
q.front_value()
>>>30
# delete front
q.delete()
#show front value
q.front_value()
>>>50
#show
q.queue
>>>[0, 50, 0, 0, 0, 0, 0, 0, 0, 0]
Reference:
https://stackoverflow.com/questions/53513/how-do-i-check-if-a-list-is-empty
https://blog.csdn.net/yogima/article/details/80672254
https://www.delftstack.com/zh-tw/howto/python/python-local-variable-referenced-before-assignment/
https://blog.csdn.net/gaifuxi9518/article/details/81193296
https://www.books.com.tw/products/0010840854
Share on Twitter Share on FacebookSQL Server Analytics Service 1
SEO(1) Github(2) Title Tag(2) ML(1) 李宏毅(1) SQL Server(18) Tempdb(1) SSMS(1) Windows(1) 自我成長(2) Excel(1) python Flask(1) python(5) Flask(2)
Max Chen (159)