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 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
Пример #3
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
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.
    res = Queue()
    for removedEl in range(position):  # Sortir les elements jusqu'a position
        res.put(data.get())
    data.get()  # retirer l'element a la position n
    for putEl in range(
            len(data)):  # mettre les elements restants de data dans temp
        res.put(data.get())
    return res
def string_and_structs(string: str) -> tuple:
    # TODO: Parcourez la chaîne de caractères.
    # Si le caractère est une lettre, on l'ajoute dans fifo.
    # Sinon, on retire un élément de fifo pour l'insérer dans lifo.
    fifo, lifo = Queue(), Stack()
    for char in string:
        if 65 <= ord(char) <= 90 or 97 <= ord(char) <= 122:
            fifo.put(char)
        else:
            lifo.put(fifo.get())
    return fifo, lifo
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.
    # something weird with this function
    for i in range(len(data)):
        if i == position:
            print(
                f"L'element a supprimer est {data.get()} a la position {position}."
            )
            data.get()
        else:
            data.put(data.get())
    return data
def string_and_structs(string: str) -> tuple:
    # TODO: Parcourez la chaîne de caractères.
    # Si le caractère est une lettre, on l'ajoute dans fifo.
    # Sinon, on retire un élément de fifo pour l'insérer dans lifo.
    alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

    fifo, lifo = Queue(), Stack()
    for letter in string:
        if letter in alphabet:
            fifo.put(letter)
        else:
            lifo.put(fifo.get())

    return fifo, lifo
Пример #8
0
def string_and_structs(string: str) -> tuple:
    # TODO: Parcourez la chaîne de caractères.
    # Si le caractère est une lettre, on l'ajoute dans fifo.
    # Sinon, on retire un élément de fifo pour l'insérer dans lifo.

    fifo, lifo = Queue(), Stack()

    for i in string:
        if i.isalpha():
            fifo.put(i)
        else:
            lifo.put(fifo.get())

    return fifo, lifo
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 string_and_structs(string: str) -> tuple:
    # TODO: Parcourez la chaîne de caractères.
    # Si le caractère est une lettre, on l'ajoute dans fifo.
    # Sinon, on retire un élément de fifo pour l'insérer dans lifo.

    fifo, lifo = Queue(), Stack()

    for char in string:
        if ('a' <= char) and (char <= 'z') or ('A' <= char) and (
                char <= 'Z'):  # Minuscule ou majuscule
            fifo.put(char)

        else:
            lifo.put(fifo.get())

    return fifo, lifo
def string_and_structs(string: str) -> tuple:
    # TODO: Parcourez la chaîne de caractères.
    # Si le caractère est une lettre, on l'ajoute dans fifo.
    # Sinon, on retire un élément de fifo pour l'insérer dans lifo.

    fifo, lifo = Queue(), Stack()

    return fifo, lifo
Пример #12
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')
Пример #13
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')
Пример #14
0
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.
    x = Queue()
    for i in range(len(data)):
        if i == position:
            data.get()
        else:
            x.put(data.get())

    return x
    return Queue()
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
Пример #16
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 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.
    return Queue()
def sort_queue(data: Queue) -> Queue:
    # TODO: Retourner la séquence triée
    return Queue()
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