gpt4 book ai didi

python - 使用python实现队列

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:40 24 4
gpt4 key购买 nike

我正在创建一个程序来创建队列并添加、删除和显示元素。为此,我创建了一个列表,然后从用户那里获取输入并附加相同数量的 0,然后正常进行。问题出现了,rear 和 front 的值没有变化,保持不变,导致它不显示,也不填充。

我该如何解决这个问题。

l=[]
global front
global rear
front=-1
rear=-1
print("Enter the number of elements ")
maxsize=int(input())
i=0
q=0
for q in range(0,maxsize): #for creating an array with user input number of 0s
l.append(0)

def isFull():
if(rear==maxsize):
return 1
else:
return 0

def isEmpty():
if(front==-1 and rear==-1):
return 1
elif(front==rear):
return 1
else:
return 0

def enqueue(n):
if(isEmpty()==1):
front=0
rear=0
l[rear]=n
rear=rear+1
else:
l[rear]=n
rear=rear+1

def dequeue():
if(isEmpty()==1):
return 1
else:
front=front+1

while(i==0):
print("Add an element ?(0) \nDelete an element?(1) \nDisplay the
elements?(2)\n")
a=int(input())
if(a==0):
if(isFull()==1):
print("Queue is full")
else:
b=int(input())
enqueue(b)
if(a==1):
dequeue()
if(a==2):
for c in range(front,rear):
print(l[c])

最佳答案

您必须在使用它们的任何方法开始时重新声明全局变量(在本例中为 front、rear)。像这样

def enqueue(n):
global front
global rear
if(isEmpty()==1):
front=0
rear=0
l[rear]=n
rear=rear+1
else:
l[rear]=n
rear=rear+1

关于python - 使用python实现队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54405233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com