使用链表实现队列数据结构的 Python 程序
当需要使用链表实现队列数据结构时,定义了向链表添加(入队操作)元素的方法和删除(出队操作)链表元素的方法。
以下是相同的演示-
示例
class Node: def __init__(self, data): self.data = data self.next = None class Queue_structure: def __init__(self): self.head= None self.last= None def enqueue_operation(self, data): ifself.lastis None: self.head = Node(data) self.last = self.head else: self.last.next = Node(data) self.last = self.last.next def dequeue_operation(self): ifself.headis None: return None else: val_returned = self.head.data self.head = self.head.next return val_returned my_instance = Queue_structure() while True: print('enqueue输出结果') print('dequeue') print('quit') my_input = input('What operation would you like to perform ? ').split() operation = my_input[0].strip().lower() if operation == 'enqueue': my_instance.enqueue_operation(int(my_input[1])) elif operation == 'dequeue': dequeued = my_instance.dequeue_operation() if dequeued is None: print('The queue is empty.') else: print('The deleted element is : ', int(dequeued)) elif operation == 'quit': break
enqueuedequeue quit What operation would you like to perform ? enqueue 45 enqueue dequeue quit What operation would you like to perform ? enqueue 12 enqueue dequeue quit What operation would you like to perform ? dequeue The deleted element is : 45 enqueue dequeue quit What operation would you like to perform ? quit
解释
创建了“节点”类。
创建了另一个具有所需属性的“Queue_structure”类。
它有一个'init'函数,用于初始化第一个元素,i.e即'head'为'None'。
定义了一个名为enqueue_operation'的方法,它有助于向队列添加一个值。
定义了另一个名为“dequeue_operation”的方法,它帮助从队列中删除一个值,并返回删除的值。
'Queue_structure'的一个实例被创建。
给出了三个选项,例如“入队”、“出队”和“退出”。
'enqueue'选项向堆栈添加一个特定的值。
'dequeue'选项从队列中删除元素。
'quit'选项退出循环。
根据用户的输入/选择,执行相应的操作。
此输出显示在控制台上。