使用Python语言实现一个ADT队列,并定义队列的排序函数。
ADT队列的定义如下:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
# 弹出首元素
return self.items.pop(0)
def peek(self):
return self.items[0]
其中,排序函数使用冒泡排序算法实现,代码如下:
def sort_queue(q):
n = q.size()
for i in range(n - 1):
for j in range(n - 1 - i):
if q.items[j] > q.items[j + 1]:
temp = q.items[j]
q.items[j] = q.items[j + 1]
q.items[j + 1] = temp
在主函数中,可以调用sort_queue函数对队列进行排序:
if __name__ == '__main__':
q = Queue()
q.enqueue(5)
q.enqueue(3)
q.enqueue(1)
q.enqueue(2)
q.enqueue(4)
sort_queue(q)
while not q.is_empty():
print(q.dequeue(), end=' ')
输出结果为:1 2 3 4 5
上一篇:ADT的将对象保存到类中
下一篇:ADTF .dat跟踪文件阅读器