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
Exemplo n.º 2
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.
    # 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 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
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
Exemplo n.º 7
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 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
Exemplo n.º 9
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 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
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
Exemplo n.º 12
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 data.get(position)
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