Dynamic17. Дано число D и указатели \(P_1\) и \(P_2\) на начало и конец очереди (если очередь является пустой, то \(P_1 = P_2 = NIL\)). Добавить элемент со значением D в конец очереди и вывести новые адреса начала и конца очереди.

Решение на Python 3:

import random

N = random.randrange(0,10)
q = [random.randrange(1,11) for i in range(0,N)]
print("Queue: ", q)
try:
print("id of the first item: ",id(q[0]))
except IndexError as err:
print("NIL: {0}".format(err))
try:
print("id of the last item: ",id(q[-1]))
except IndexError as err:
print("NIL: {0}".format(err))

D = random.randrange(1,11)
print()
print("D = ",D)
q.append(D)

print()
print("Queue: ", q)
try:
print("id of the first item: ",id(q[0]))
except IndexError as err:
print("NIL: {0}".format(err))
try:
print("id of the last item: ",id(q[-1]))
except IndexError as err:
print("NIL: {0}".format(err))