Dieser Artikel stellt hauptsächlich relevante Informationen zur Implementierung der Warteschlange der Python-Datenstruktur vor. Freunde, die sie benötigen, können darauf verweisen
Python-Warteschlange
Warteschlangenwarteschlange ist ein FIFO-Datentyp (First-In-First-Out), der durch Einreihen in die Warteschlange am Ende der Warteschlange hinzugefügt wird.
Verwenden Sie eine Liste So erstellen Sie eine Warteschlange:
queue = [] # 初始化一个列表数据类型对象, 作为一个队列 def enQ(): # 定义一个入栈方法 queue.append(raw_input('Enter New String: ').strip()) # 提示输入一个入队的 String 对象, 调用 Str.strip() 保证输入的 String 值不包含多余的空格 def deQ(): # 定义一个出队方法 if len(queue) == 0: print "Cannot pop from an empty queue!" else: print 'Remove [', `queue.pop(0)`, ']' # 使用反单引号(` `)来代替 repr(), 把 String 的值用引号扩起来, 而不仅显示 String 的值 # queue.pop(0) 总是将在队列中最前面的元素弹出 def viewQ(): # 定义一个显示队列中的内容的方法 print queue CMDs = {'u':enQ, 'o':deQ, 'v':viewQ} # 定义一个 Dict 类型对象, 将字符映射到相应的 function .可以通过输入字符来执行相应的操作 def showmenu(): # 定义一个操作菜单提示方法 pr = """ (E)nqueue (D)equeue (V)iew (Q)uit Enter choice: """ while True: while True: try: choice = raw_input(pr).strip()[0].lower() # Str.strip() 去除 String 对象前后的多余空格 # Str.lower() 将多有输入转化为小写, 便于后期的统一判断 # 输入 ^D(EOF, 产生一个 EOFError 异常) # 输入 ^C(中断退出, 产生一个 keyboardInterrupt 异常) except (EOFError, KeyboardInterrupt, IndexError): choice = 'q' print '\nYou picked: [%s]' % choice if choice not in 'uovq': print 'Invalid option, try again' else: break if choice == 'q': break CMDs[choice]() # 获取 Dict 中字符对应的 functionName, 实现函数调用 if __name__ == '__main__': showmenu()
Die Implementierung von Warteschlange und Stapel ist sehr ähnlich, der Unterschied besteht darin, dass die Warteschlange immer zuerst das erste Element einfügt und der Stapel immer Öffnet das letzte Element zuerst.
Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!
Weitere Artikel zur Implementierung der Python-Datenstrukturwarteschlange finden Sie auf der chinesischen PHP-Website!