Sunteți pe pagina 1din 5

Puin istorie Agner Krarup Erlang, inginer danez care a lucrat la o compania de telefoane din Copenhagen a publicat n 1909

prima lucrare privin teoria ateptrii n care unt enun!ate di ciplinele "#"$, %#"$ care mai t&rziu au tat la baza tructurilor de date coad i tiv' Erlang e te unitatea de m ur pentru volumul traficului din telecomunica!ii' (tiva utilizat n arhitectura calculatorului a fo t patentat n 19)* de "riedrich %' +auer un pionier n tiin!a calculatoarelor, de origine german,' Teorie (tiva e te o tructur de date liniar n care toate in er!iile i e,tragerile de elemente au loc la un ingur capat' Ace t capat e numete v&rful tivei' -i ciplina tivei e te ''''''''''''''''''''''''''''' .entru a implementa o tiv trebuie urmm paii/ 1' 0' 2' 3' )' 4' #ni!ializarea tivei' 1erificarea faptului ca tiva e plin' 1erificarea faptului ca tiva e goal' #ntroducerea unui element n v&rful tivei' E,tragerea elementului din v&rful tivei' Con ultarea elementului din v&rful tivei'

Initializarea stivei: void init5void6 7 int i8 for 5i908 i:;A<8 i==6 tiva>i?908 @A toate elementele devin 0 A@ indBtop9C18 @A varful tivei indica primul element ocupatA@ D @A init A@ Verificarea faptului c stiva este plin: int plin5void6 7 return indBtop99;A<C18 D @A plin A@ (tiva e te plin atunci c&nd v&rful tivei indic pre ultimul element din tiv 5cel de indice MAX-16' Verificarea faptului ca stiva este goal: int gol5void6 7 return indBtop99C18 D @A gol A@

Introducerea unui element n vrful stivei: void pu h5double nr6 7 if 5plin566 @A daca tiva e te plina A@ 7 printf5EEroare/ tiva e te plinaFnE68 e,it5168 D tiva>==indBtop? 9 nr8 @A noul element e te introdu in varful tivei A@ D @A pu h A@ Eliminarea elementului din vrful stivei: void pop5void6 7 if 5gol56 6 @A daca tiva e te goala A@ 7 printf5EEroare/ tiva e te goalaFnE68 e,it5168 D indBtopCC8 @A decrementeaza varful tivei A@ D @A pop A@ Consultarea elementului din vrful stivei: double top5void6 7 if 5gol566 @A daca tiva e te goala A@ 7 printf5EEroare/ tiva e te goalaFnE68 e,it5168 D return tiva>indBtop?8 @A returneaza elementul din varful tivei A@ D @A top A@ (crie!i teoria i pentru coad' Probleme 1' (e di pune de o tructur de tip tiv, iar func!iile pentru ge tionarea ei unt/ void pu h5int ,68 @@ depune n tiv int pop5void68 @@e,trage din tiv Ce va afia urmtoarea ecven! de programG '''''''''''''''''''''''' pu h5068pu h5168pu h5268pu h5068

printf5HIdJ, pop5668 printf5HIdJ, pop5668 printf5HIdJ, pop5668 ''''''''''''''''''''''''''''''''' a6 010 b6 210 c6 021 d6 012 0' (e di pune de o tructur de tip tiv, iar func!iile pentru ge tionarea ei unt/ void pu h5int v68 @@ depune n tiv int pop5void68 @@e,trage din tiv Ce e va afia dup e,ecutarea urmtoarei ecven!e de opera!ii/ '''''''''''''''''''''''' pu h5268 pu h5068 pu h5168 pu h5068 printf5HIdJ, pop5668 printf5HIdJ, pop5668 ''''''''''''''''''''''''''''''''' a6 20 b6 02 c6 01 d6 10 2' K punde!i la problemele 1 i 0 n cazul unei cozi' 3' Calcula!i .292L ''''''''''''''''' "iind dat permutarea identic de ordin trei 1 0 2 care reprezint datele de intrare ntrCo coad re pectiv o tiv, e cere e afle c&te permutri diferite de cea identic e pot ob!ine prin introduceri i e,trageri ucce ive din ambele tructuri' E emplu 1 0 2 intr n coad re pect&nd di ciplina cozii la ieire ob!inem 1 0 2 #ntroduc&nd primele dou elemente, apoi e,trg&nduCle i introduc&nd, re pectiv e,trg&nd pe al treilea ce e ob!ineG "olo ind un de en ca cel de mai Mo reprezenta!i toate itua!iile po ibile care e ob!in n cazul tivei'

(crie!i ecven!a de intrri ieiri ntrCo tiv a operanzilor i operatorilor din urmtorul e,erci!iu a tfel nc&t fie p trat ordinea efecturii opera!iilor'

#ntrebri 1' NntrCo coad e adaug pe r&nd elementele *, 2, 10' Care element va fi e,tra din coad la urmtorul pa G a6 * b6 2 c6 10 d6 oricare dintre elementele *, 2, 10 0' NntrCo tiv i ntrCo coad e adaug pe r&nd numerele ), 0, O, 1' Nn ce ordine vor fi ace tea e,tra e din tiv, re pectiv coadG a6 din tiv/ ), 0, O, 18 din coad/ ), 0, O, 1 b6 din tiv 1, O, 2, )8 din coad/ ), 0, O, 1 c6 din tiv/ ), 0, O, 18 din coad/ 1, O, 2, ) d6 din tiv 1, O, 2, )8 din coad/ 1, O, 2, ) 2' .entru reprezentarea unei cozi ub forma unei li te liniare implu nln!uite avem nevoie de / a6 un pointer cap care indice pre capul cozii b6 un pointer f care indice pre f&ritul c6 doi pointeri capi f care indice pre capul, re pectiv f&ritul cozii d6 nici una din variantele de mai u 3' NntrCo coda e g e c numerele 3, 0, O, capul cozii fiind numrul 3' Ptiind c opera!iile ad5,6 C adaug numrul , n coad e, Q e,trage din coad e determine ucce iunea de opera!ii n urma crora e aMunge la configura!ia 3, 2, O a6 e,, e,, e,, ad536, ad526, ad5O6 b6 e,, e,, ad526, ad536 c6 e,, ad526 d6 ad526, e, e6 nici una dintre ucce iunile anterioare )' Cap e te un pointer 5variabil de tip pnod6 ctre primul nod al li tei liniare implu nln!uite 5 tiv au coad6' Ce reprezint procedura de mai Mo G function f/ integer 8 var p/pnod8 begin p/9cap8 f/9pRinf8 cap/9capRurm8 if cap9nil then f/9nil8 di po e5p68 end8 int f5void6 7pnod p8 p9cap8 return pCSinf8 cap9capCSurm8 if5cap99null6 f9null delete p8D

a6 adugarea unui element , ntrCo tiv b6 adugarea unui element , ntrCo coad c6 e,tragerea a unui element , dintrCo tiv d6 e,tragerea a unui element , dintrCo coad 4' Care e te principiul pa baza cruia e face e,tragerea din tivG a6 "#"$ 5"ir t #n Q "ir t $ut6 b6 %#"$ 5%a t #n Q "ir t $ut6 c6 %#%$ 5%a t #n Q %a t $ut6 d6 nici unul dintre principiile de mai u *' -ac intrCo tiv e pe r&nd numerele 0, ), 3, 9 care va fi ordinea n care vor fi e,tra eG a6 0, ), 3, 9 b6 9, 3, ), 0 c6 ordinea de e,tragere e te aleatoare d6 nici unul dintre r pun urile de mai u O' NntrCo tiv e adug pe r&nd elementele 3, O, 2' Care element va putea fi e,tra din tiv la pa ul urmtorG a6 3 b6 O c6 2 d6 oricare dintre numerele 3, O, 2 9' .entru reprezentarea unei tive ub forma unei li te implu nln!uite avem nevoie de/ a6 un pointer cap care indice pre v&rful tivei b6 un pointer f care indice pre baza tivei c6 doi pointeri capi f care indice pre v&rful, re pectiv baza tivei d6 nici una din variantele de mai u

S-ar putea să vă placă și