Cozile sunt de obicei frustrante în viața reală, dar într-un program de calculator pot rezolva multe probleme. Aflați ce puteți face cu o coadă și cum.
Coada este o structură de date versatilă pe care o puteți utiliza într-o varietate de setări. De la algoritmi de programare a CPU până la aplicații web, se găsește peste tot.
Dacă te străduiești să devii un dezvoltator Python, este vital să fii la curent cu această structură de date simplă, dar omniprezentă. Să aflăm care este structura de date a cozii și cum să implementăm una în Python.
Ce este structura datelor din coadă?
O coadă este o structură de date liniară, care urmează principiul First-In-First-Out (FIFO). Aceasta înseamnă că, atunci când preluați un element dintr-o coadă, îl veți obține pe oricare dintre acestea l-ați adăugat înaintea celorlalți.
Iată operațiunile de bază pe care le puteți efectua într-o coadă:
- Codă: Adăugați elemente la coadă.
- Scoatere la coadă: Eliminați elementele din coadă.
- Imprimare: Imprimați elementele din coadă.
- Front: Obțineți elementul din partea din față a cozii.
- Spate: obțineți elementul din spatele cozii.
Puteți implementa structura de date a cozii în Python în două moduri: folosind fie un container de listă, fie o coadă cu două terminații din modulul de colecții. Pentru acest program, veți folosi o listă.
Cum se implementează structura datelor cozii în Python
Veți implementa o coadă folosind containerul de listă în Python. Începeți prin a declara o listă goală cu numele coadă.
coada = []
Acum trebuie să acceptați intrarea utilizatorului și să efectuați operația introdusă de utilizator. Mai întâi, tipăriți o linie care cere utilizatorului să introducă o comandă. Apoi, așteptați intrarea utilizatorului și stocați-o în fișierul comanda variabil.
Folosind Python if declarații, efectuați operația corespunzătoare comenzii introduse de utilizator. Dacă introduc o comandă nerecunoscută, părăsiți programul. Pune aceste operații în interiorul unui infinit buclă while pentru a vă asigura că programul continuă să ruleze dacă nu se închide.
in timp ceAdevărat:
comanda = input("Ce vreţi să faceţi? ")dacă comanda == "pune la coada":
# cod
elif comanda == "decoda":
# cod
altfel:
pauză
imprimare (coadă)
Pune în coadă
Acum că v-ați ocupat de fluxul de control principal al programului, puteți defini blocul de cod pentru fiecare operație. Mai întâi, scrieți codul pentru coadă. Enqueue înseamnă inserarea unui element la sfârșitul cozii. Puteți face acest lucru folosind adăuga() metodă:
dacăcomanda == "pune la coada":
coada = int(intrare(„Introduceți elementul de pus în coadă: „))
Scoateți la coadă
Acum, scrieți codul pentru a scoate un element din coadă. Puteți face acest lucru folosind metoda pop cu 0 ca index. De ce? După cum ați învățat mai devreme, o coadă urmează ordinea FIFO, astfel încât primul element pe care îl puneți în coadă ar trebui să fie primul element pe care îl scoateți din coadă.
dacă comanda == "decoda":
queue.pop(0)
Față
Mergând mai departe, scrieți codul pentru a imprima elementul din partea din față a cozii. Imprimați pur și simplu al 0-lea index al cozii.
dacă comanda == "față":
imprimare (coada[0])
Spate
La fel ca și codul pentru operația din față, pentru a efectua operația din spate tipăriți elementul la ultimul index. Pentru a face acest lucru, utilizați mai întâi funcția len() din coadă și apoi scădeți 1 din ea pentru a găsi ultimul index.
dacă comanda == "spate":
print (coada[len (coada) - 1])
Imprimare
În cele din urmă, scrieți codul pentru comanda de imprimare. Pur și simplu imprimați lista folosind standardul Python imprimare() funcţie.
dacă comanda == "imprimare":
imprimare (coadă)
Dacă textul introdus de utilizator nu se potrivește cu o comandă acceptată, ieșiți din bucla while folosind o instrucțiune break. Codul final ar trebui să arate astfel:
coada = []
in timp ceAdevărat:
comanda = input(„Ce vrei să faci?\n”)dacă comanda == "pune la coada":
coada = int (input(„Introduceți elementul de pus în coadă: „))
queue.append (în coadă)
elif comanda == "decoda":
queue.pop(0)
elif comanda == "imprimare":
imprimare (coadă)
elif comanda == "față":
imprimare (coada[0])
elif comanda == "spate":
imprimare (coada[len (coada)-1])
altfel:
pauză
imprimare (coadă)
Rulați programul pentru a încerca diferitele operații de coadă. Utilizați comanda print pentru a vedea cum vă afectează coada. Acum ați creat propria implementare simplă a cozii de așteptare în Python.
Coada este doar una dintre multele structuri de date utile
Conceptul de structură de date este unul vital pe care fiecare student la informatică trebuie să-l stăpânească. Este posibil să fi învățat sau să fi lucrat deja cu unele structuri de date de bază, cum ar fi matrice sau liste.
Intervievatorii tind, de asemenea, să pună întrebări legate de structurile de date, așa că, dacă doriți să obțineți un loc de muncă de programare bine plătit, va trebui să vă îmbunătățiți cunoștințele privind structurile de date.