Come implementare una coda in Python
Le code sono solitamente frustranti nella vita reale, ma in un programma per computer possono risolvere molti problemi. Scopri cosa puoi fare con una coda e come.
La coda è una struttura dati versatile che puoi utilizzare in una varietà di impostazioni. Dagli algoritmi di pianificazione della CPU alle app Web, si trova ovunque.
Se stai cercando di diventare uno sviluppatore Python, è fondamentale che tu sia al passo con questa struttura dati semplice ma onnipresente. Impariamo cos'è la struttura dei dati della coda e come implementarne una in Python.
Qual è la struttura dei dati della coda?
Una coda è una struttura di dati lineare, che segue il principio FIFO (First-In-First-Out). Ciò significa che, quando recuperi un elemento da una coda, otterrai quello che hai aggiunto prima degli altri.
Ecco le operazioni di base che è possibile eseguire su una coda:
- Accodamento: aggiunge elementi alla coda.
- Dequeue: rimuove gli elementi dalla coda.
- Stampa: stampa gli elementi in coda.
- Fronte: ottieni l'elemento in prima fila nella coda.
- Dietro: prendi l'elemento in fondo alla coda.
Puoi implementare la struttura dei dati della coda in Python in due modi: utilizzando un contenitore di elenco o una coda a doppia estremità dal modulo collezioni. Per questo programma utilizzerai un elenco.
Come implementare la struttura dei dati della coda in Python
Implementerai una coda utilizzando il contenitore dell'elenco in Python. Inizia dichiarando un elenco vuoto con il nome queue.
queue = []
Ora è necessario accettare l'input dell'utente ed eseguire l'operazione immessa dall'utente. Per prima cosa, stampa una riga che chiede all'utente di inserire un comando. Quindi, attendi l'input dell'utente e memorizzalo nella variabile comando.
Utilizzando le istruzioni if di Python, esegui l'operazione corrispondente al comando immesso dall'utente. Se immettono un comando non riconosciuto, esci dal programma. Inserisci queste operazioni all'interno di un ciclo while infinito per garantire che il programma continui a funzionare a meno che non venga chiuso.
while True:
command = input("What do you want to do? ")
if command == "enqueue":
# code
elif command == "dequeue":
# code
else:
break
print(queue)
Accoda
Ora che hai affrontato il flusso di controllo principale del programma, puoi definire il blocco di codice per ciascuna operazione. Per prima cosa, scrivi il codice per l'accodamento. Accodare significa inserire un elemento alla fine della coda. Puoi farlo utilizzando il metodo append():
if command == "enqueue":
enqueue = int(input("Enter the element to Enqueue: "))
Decoda
Ora scrivi il codice per rimuovere dalla coda un elemento. Puoi farlo usando il metodo pop con 0 come indice. Perché? Come hai appreso in precedenza, una coda segue l'ordine FIFO, quindi il primo elemento che accodi dovrebbe essere il primo elemento che rimuovi dalla coda.
if command == "dequeue":
queue.pop(0)
Davanti
Andando avanti, scrivi il codice per stampare l'elemento in testa alla coda. Stampa semplicemente l'indice 0 della coda.
if command == "front":
print(queue[0])
Posteriore
Proprio come il codice per l'operazione anteriore, per eseguire l'operazione posteriore stampare l'elemento nell'ultimo indice. Per fare ciò usa prima la funzione len() sulla coda e poi sottrai 1 da essa per trovare l'ultimo indice.
if command == "rear":
print(queue[len(queue) - 1])
Stampa
Infine, scrivi il codice per il comando di stampa. Stampa semplicemente l'elenco utilizzando la funzione print() standard di Python.
if command == "print":
print(queue)
Se il testo immesso dall'utente non corrisponde a un comando supportato, interrompere il ciclo while utilizzando un'istruzione break. Il codice finale dovrebbe assomigliare a questo:
queue = []
while True:
command = input("What do you want to do?\n")
if command == "enqueue":
enqueue = int(input("Enter the element to Enqueue: "))
queue.append(enqueue)
elif command == "dequeue":
queue.pop(0)
elif command == "print":
print(queue)
elif command == "front":
print(queue[0])
elif command == "rear":
print(queue[len(queue)-1])
else:
break
print(queue)
Eseguire il programma per provare le varie operazioni sulla coda. Utilizza il comando print per vedere come influenzano la tua coda. Ora hai creato la tua semplice implementazione della coda in Python.
La coda è solo una delle tante strutture dati utili
Il concetto di struttura dati è fondamentale che ogni studente di informatica deve padroneggiare. È probabile che tu abbia già imparato o lavorato con alcune strutture dati di base come array o elenchi.
Gli intervistatori tendono anche a porre domande relative alle strutture dati, quindi se stai cercando di ottenere un lavoro di programmazione ben retribuito, dovrai rispolverare la tua conoscenza delle strutture dati.