我正在创建一个程序来创建队列并添加、删除和显示元素。 为此,我创建了一个列表,然后从用户处获取输入,并附加相同数量的0,然后正常进行。出现的问题是前后值不变且保持不变,导致其不显示也不填充。在
我该怎么解决这个问题呢。在
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)。像这样
相关问题 更多 >
编程相关推荐