from queue import Queue
def reverseQueueFirstNElements(q, n):
if (q.empty() == True or n > q.qsize() or n <= 0):
return
Stack = []
for i in range(n):
Stack.append(q.queue[0])
q.get()
while (len(Stack) != 0 ):
q.put(Stack[-1])
Stack.pop()
for i in range(q.qsize() - n):
q.put(q.queue[0])
q.get()
q = Queue()
q.put(3)
q.put(5)
q.put(2)
q.put(7)
q.put(9)
q.put(1)
q.put(8)
print(list(q.queue))
reverseQueueFirstNElements(q, 4)
print(list(q.queue))
'''
run:
[3, 5, 2, 7, 9, 1, 8]
[7, 2, 5, 3, 9, 1, 8]
'''