Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Coada


Coada


Coada

Coada este lista liniara in care adaugarea de noi elemente se face la un capat, iar extragerea unui element se poate face numai prin celalalt capat al listei.

Coada, ca element cotidian, este un element binecunoscut. Se poate sta la 'coada' la un ghiseu pentru procurarea unor bilete, la un magazin pentru cumpararea unor produse, la urcarea intr-un mijloc de transport etc.

Din definitie rezulta ca, intotdeauna, dintr-o coada se extrage elementul cel mai vechi. Se spune ca accesul la o coada este de tip FIFO (First In First Out).

Ca si in cazul stivei, operatiile de baza asupra unei cozi sunt doua: adaugarea unui element in coada si extragerea unui element din coada.



Atat in implementarea statica (programul Static_Coada) cat si in implementarea dinamica (programul Dinamic_Coada), o coada e determinata de:

capul cozii (arata locul de unde se extrage);

coada cozii (arata locul unde se adauga);

lungimea cozii (numarul elementelor din coada).

Grafic, pentru o coada cu lungimea n=4 elementele, cele doua variante de implementare pot arata astfel:

Variante de implementare a cozii:


a) varianta statica




b) varianta dinamica



Lista programului Static_Coada (implementarea statica) este prezentata in continuare.

//Static_Coada


# include 'stdio.h'

# include 'conio.h'


const max_aloc=20;


int coada[max_aloc];

char ch;

int n,x,pcap,pcoada;


void InitCoada()



int AdaugaEl(int x)


else

return 0;



int ExtragEl(int x)


void Listare()


getch();



void main(void)


break;

case 'E':

k=ExtragEl(x);

if (k)


else


break;

case 'L':

Listare();

break;

case 'S':

break;

default:

printf('nIntroduceti alta litera!');

getch();

}

clrscr();

}

while (ch!='S');



Lista programului Dinamic_Coada (implementarea dinamica) este prezentata mai jos.


//Dinamic_Coada


# include 'stdio.h'

# include 'conio.h'

# include 'alloc.h'


const max_aloc=50;


struct pstruct

;

typedef struct pstruct PSTRUCT;


PSTRUCT *prim,*ultim,*p;

int x,n;

char ch;


void InitCoada()



int AdaugaEl(int x)


n++;

return 1;

}

else

return 0;



int ExtragEl(int x)


void Listare()


getch();



void main(void)


break;

case 'E':

k=ExtragEl(x);

if (k)


else


break;

case 'L':

Listare();

break;

case 'S':

break;

default:

printf('nIntroduceti alta litera!');

getch();

}

clrscr();

}

while (ch!='S');


Nota: Cele doua programe (Static_Coada si Dinamic_Coada) simuleaza operatiile de initializare a unei cozi (Initcoada), adaugarea si extragerea unui element (AdaugaEl, ExtrageEl) precum si operatia de listare elemente (Listare).







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate