1 / 9

ALGORITMI PENTRU PRELUCRAREA COZILOR

ALGORITMI PENTRU PRELUCRAREA COZILOR. CONTINUT. NOTIUNI INTRODUCTIVE METODE DE IMPLEMENTARE DECLARAREA UNEI COZI PRELUCRAREA COZII - Testare - Initializarea - Adaugarea unui nod - Eliminarea unui nod. NOTIUNI INTRODUCTIVE.

berke
Télécharger la présentation

ALGORITMI PENTRU PRELUCRAREA COZILOR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALGORITMI PENTRU PRELUCRAREA COZILOR

  2. CONTINUT • NOTIUNI INTRODUCTIVE • METODE DE IMPLEMENTARE • DECLARAREA UNEI COZI • PRELUCRAREA COZII - Testare - Initializarea - Adaugareaunui nod - Eliminareaunui nod

  3. NOTIUNI INTRODUCTIVE • Def: Coadareprezinta o listarestrictiva in care operatiile de introducere se facpe la o extremitateiarextragerilepe la cealaltaextremitate. • Celedouaextremitati se numescvarf (nodul prim) sibaza (nodulultim). • Este o structura de tip FIFO (First In First Out), astfel: - adaugarea de noduri se realizeazaprinnodulultim - extragereaunui nod estepermisanumaiprinextremitatea prim.

  4. METODE DE IMPLEMENTARE Implementareacozii se poate face: - cu alocareinlantuita: la fel ca a uneilisteliniare cu deosebirea ca pentruadaugareaunui nod se poatefolosinumaialgoritmulpentruadaugareadupaultimul nod iarpentruextrageredoaralgoritmulpentrueliminareaprimului nod. - cu alocaresecventiala: este un mecanismmultmaisimplude prelucrare. In continuare se vautilizaalocareasecventialapentruimplementareacozii.

  5. DECLARAREA UNEI COZI Pentruimplementare se vorfolosiurmatoarele date sistructuri de date: const unsigned NMAX=100; typedef<tip_data> nod; nod coada[NMAX+1], val; unsigned prim,ultim; unde: tip_data – orice tip al limbajului prim, ultim – celedouaextremitati val – valoareaintrodusa in nod Prelucareauneicozi se realizeaza de la nodul prim sprenodulultim. Accesul la nodul prim se face cu coada[prim].

  6. Exemplu Operatii de adaugaresiextragereintr-o coada: Adaugare: Extragere Obs: in urmaoperatiilor de adaugaresiextragerevorrezultaspatiineocupate in coada => coadavaajunge la capatulspatiuluialocat Solutia:implementare ca o listacirculara.

  7. PRELUCRAREA COZII Pentruimplementare se vafolosi o variabilasuplimentara k care vanumaranodurilecozii. 1.Testarea cozii a.coadavida: inteste_vida () {returnk==0;} undeeste_vida e o functiecu valoarea 1 dacacoadae vidasi 0 in cazcontrar. b.coadaplina: inteste_plina () {return k == NMAX;} undeeste_plina e o functiecu valoarea 1 dacacoadae plinasi 0 in cazcontrar. 2.Initializarea cozii: In aceastasecventa se creeazacoadavida: voidinit (unsigned &prim, unsigned &ultim) {prim=ultim= NULL; k=0:}

  8. PRELUCRAREA COZII 3.Adaugarea unui nod: voidadaugare(unsigned &ultim, nod val) { if (! este_plina()) { if (ultim == NMAX) ultim = 1; elseultim ++; coada [ultim] = val; k ++;}} 4.Eliminarea unui nod: voideliminare( unsigned &prim) { if(! este_vida()) { val = coada [prim]; if (prim==NMAX) prim=1; else prim++; k--;}

  9. sfarsit!!!

More Related