Пример #1
0
def queue_operations():
    '''USER OPERATIONS OF A QUEUE IMPLEMENTATION'''
    queue = Queue()
    while choice > 0:
        queue_menu = [('MAIN MENU', -1), ('EXIT', 0), \
                    ('ENQUEUE', 1), ('DEQUEUE', 2), ('FRONT', 3), ('REAR', 4), ('SIZE', 5)]
        print_menu(queue_menu)
        choice = int(input().strip())
        if choice == 1:
            print('ENTER ITEM :', end=' ')
            queue.enqueue(int(input().strip()))
            print('ENQUEUE OPERATION SUCCESSFUL.')
        elif choice == 2:
            if queue.is_empty():
                print('UNDERFLOW')
            else:
                print('DEQUEUED VALUE :', queue.dequeue())
        elif choice == 3:
            if queue.is_empty():
                print('UNDERFLOW')
            else:
                print('FRONT :', queue.front())
        elif choice == 4:
            if queue.is_empty():
                print('UNDERFLOW')
            else:
                print('REAR :', queue.rear())
        elif choice == 5:
            print('QUEUE SIZE :', queue.size())
Пример #2
0
def test_clear():
    myQ = Queue()
    myQ.enqueue(3)
    myQ.enqueue(4)
    myQ.clear()
    assert myQ.size() == 0
    assert myQ.isEmpty()
    assert myQ.toList() == []
Пример #3
0
def hotPotato(names, num):
    simQueue = Queue()
    for name in names:
        simQueue.enqueue(name)

    while simQueue.size() > 1:
        for i in range(num):
            simQueue.enqueue(simQueue.dequeue())

        simQueue.dequeue()
    return simQueue.dequeue()
def hotpotato(names, num):
    circular_queue = Queue()

    for name in names:
        circular_queue.enqueue(name)

    while circular_queue.size() > 1:
        for k in range(num - 1):
            circular_queue.enqueue(circular_queue.dequeue())
        circular_queue.dequeue()
    print circular_queue.dequeue()
Пример #5
0
def play(players, rounds):
    '''
    Play hot potato game
  '''
    que = Queue()
    for player in players:
        que.enqueue(player)

    while que.size() > 1:
        for _ in range(rounds):
            que.enqueue(que.dequeue())

        que.dequeue()

    print("Last player in the filed : {} ".format(que.dequeue()))
Пример #6
0
def simulation(timeInsec, ppm):

    printer = Printer(ppm)
    printQueue = Queue()
    waitingTImes = []

    for second in range(timeInsec):
        if newPrintTask():
            task = Task(second)
            printQueue.enqueue(task)

        if (not printer.busy()) and (not printQueue.isEmpty()):
            nexttask = printQueue.dequeue()
            waitingTImes.append(nexttask.waitTime(second))
            printer.startNext(nexttask)

        printer.tick()
    averageWait = sum(waitingTImes) / len(waitingTImes)
    print("Average Wait %6.2f secs %3d tasks remaining." %
          (averageWait, printQueue.size()))
Пример #7
0
def test_size():
    myQ = Queue()
    myQ.enqueue(2)
    assert myQ.size() == 1