def sort_queue(data: Queue) -> Queue:
    # TODO: Retourner la séquence triée
    sortedQueue = Queue()
    sortedQueue.put_many(
        sorted([data.get() for el in range(len(data))])
    )  # Même chose que pour pile, mais data.get prend les éléments à l'envers
    return sortedQueue
def main() -> None:
    print("On inverse des données...")
    print(f"Résultat: {reverse_data()}")

    n = 4
    lifo = Stack()
    lifo.put_many([i for i in range(20)])
    print(
        f"On retire l'élément à la position {n} de la pile et on obtient: {delete_nth_from_stack(lifo, n)}"
    )

    n = 6
    fifo = Queue()
    fifo.put_many([i for i in range(20)])
    print(
        f"On retire l'élément à la position {n} de la file et on obtient: {delete_nth_from_queue(fifo, n)}"
    )

    lifo = Stack()
    lifo.put_many([randint(0, 1000) for _ in range(20)])
    print(f"On ordonne une file: {sort_stack(lifo)}")

    fifo = Queue()
    fifo.put_many([randint(0, 1000) for _ in range(20)])
    print(f"On ordonne une file: {sort_queue(fifo)}")

    sequence = "te!eYy.E6e/T"
    print(
        f"Le résulat de la manipulation de la séquence: {string_and_structs(sequence)}"
    )
def sort_queue(data: Queue) -> Queue:
    # TODO: Retourner la séquence triée
    temp = [data.get() for _ in range(len(data))]
    temp.sort()
    data.put_many(temp)

    return data
Пример #4
0
def sort_queue(data: Queue) -> Queue:
    # TODO: Retourner la séquence triée
    x = Queue()
    values = []
    for i in range(len(data)):
        values.append(data.get())

    x.put_many(sorted(values))

    return x
Пример #5
0
    def test_sort_queue(self):
        values = [randint(0, 1000) for _ in range(20)]
        fifo = Queue()
        fifo.put_many(values)

        output = exercice.sort_stack(fifo)
        answer = Queue()
        answer.put_many(sorted(values))

        self.assertEqual(output, answer, 'Mauvaise reponse')
Пример #6
0
    def test_delete_queue(self):
        fifo = Queue()
        fifo.put_many(list(range(20)))

        answer = Queue()
        answer.put_many(list(range(1, 20)))

        output = exercice.delete_nth_from_queue(fifo, 0)

        self.assertEqual(output, answer, 'Mauvaise reponse')
def delete_nth_from_queue(data: Queue, position: int) -> Queue:
    # TODO: Supprimer le énième (position) élément de data et retourner la nouvelle structure de données.

    size_queue = len(data)

    temp = [data.get() for _ in range(position)]
    data.put_many(temp)

    data.get()

    temp = [
        data.get() for _ in range(size_queue - position - 1)
    ]  # -1 car une valeur ne doit pas être mise dans la liste temporaire
    data.put_many(temp)

    return data
Пример #8
0
def reverse_data(data: list = None):
    # TODO: Demander 10 valeurs à l'utilisateur,
    # les stocker dans une structure de données,
    # et les retourner en ordre inverse, sans utiliser de liste.
    q = Queue()
    q.put('a')
    q.put_many('blabalbal')
    elem =  q.get()

    s =  Stack
    s.put(1)
    elem2 = s.get()
    if data is None:
        pass  # Demander les valeurs ici

    reversed_data = None  # Stocker le résultat ici

    return reversed_data
def sort_queue(data: Queue) -> Queue:
    # TODO: Retourner la séquence triée
    data_list = [data.get() for _ in range(len(data))]
    data.put_many(sorted(data_list))
    return data