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 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
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
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
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