Sunteți pe pagina 1din 3

Liste liniare alocate dynamic Bolojan Laura Clasa aXI-a A laura.bolojan@yahoo.com Colegiul National O.

Goga

!in "unctul #e $e#ere al unui "rogramator%memoria calculatorului se "re&inta ca o succesiune #e octeti%'iecare octet a$an# o a#resa binara bine stabilita.Acesti octeti sunt i#enti'icati "rin numere cu"rinse intre ( si n-) .Con$enim sa numim a#resa numarul #e or#ine al unui octet.*n octet este 'ormat #in + biti.,iecare bit "oate memora 'ie ci'ra binara )% 'ie ci'ra binara (.!i$ersele ti"uri #e #ate cunoscute "ana acum-IN./G/0%0/AL1 ocu"a 2 sau mai multi octeti consecuti$i.3entru 'iecare ti" #e #ata cunoscut e4ista o anumita logica "otri$it careia se 'ace memorarea e'ecti$a a continutului.!e e4em"lu% "entru ti"ul IN./G/0%memorarea se 'ace in CO! CO53L/5/N.A0.Nu ne "ro"unem sa "re&entam mo#ul #e re"re&entare a #atelor.Ne marginim numai sa atragem atentia ca o $ariabila 'olosita #e noi in "rogram are un anumit nume-simbolic1%o $aloare si o a#resa la care o gasim memorata-a#resa "rimului octet #in cei " octeti consecuti$i ocu"ati #e $ariabila1.In general%in limbajele e$oluate nu este necesar ca "rogramatorul sa cunoasca a#resa la care se gasesc $ariabilele cu care lucrea&a. 6e cunosc #oua 'orme #e alocare a memoriei #e catre "rogramator in ca#rul limbajului 3A6CAL7statica si #inamica. *tili&an# 'orma #e alocare #inamica%in tim"ul rularii "rogramului%in 'unctie #e necesitati%se aloca memorie su"limentara sau se renunta la ea. Liste sim"lu inlantuite Listele sim"lu inlantuite sunt structuri #e #ate #inamice omogene. 6"re #eosebire #e masi$e% listele nu sunt alocate ca blocuri omogene #e memorie% ci ca elemente se"arate #e memorie. ,iecare no# al listei contine% in a'ara ce in'ormatia utila% a#resa urmatorului element. Aceasta organi&are "ermite numai acces sec$ential la elementele listei. 3entru accesarea listei trebuie cunoscuta a#resa "rimului element -numita ca"ul listei18 elementele urmatoare sunt accesate "arcurgan# lista. !intre o"eratiile #e caracteri&are $om consi#era in continuare7 - !eterminarea lungimii listei -numarul #e elemente18 - Locali&area elementului #in lista care in#e"lineste o anumita con#itie -#e e4em"lu7 gasirea "rimului can#i#at #in lista care a obtinut me#ia )(13 ot 'i imaginate si o"eratii mai com"le4e% ca #e e4em"lu7

- 6e"ararea unei liste in #oua sau mai multe subliste -#in lista tuturor can#i#atilor inscrisi se creea&a #oua subliste% cu cei inscrisi la #oua sectii #i'erite18 - Combinarea a #oua sau a mai multor liste intr-una singura8 aceasta "oate 'i o sim"la concatenare -ali"ire1 sau o interclasare -#e e4em"lu7 o rearanjare con'orm criteriului al'abetic18 - Crearea unei liste or#onate #u"a $alorile -crescatoare sau #escrescatoare1 ale unei chei -ast'el sortarea #u"a cheia nume #is"une elementele listei in or#ine al'abetica8 lista "oate 'i reorgani&ata si #u"a o alta cheie% #e e4em"lu% me#ia obtinuta la concursul #e a#mitere1 - 6electia elementelor #intr-o lista% care satis'ac unul sau mai multe criterii% intr-o noua lista. /lementele listelor sunt in general inregistrari a$an# structura s"eci'ica a"licatiilor consi#erate. In memorie% listele "ot 'i re"re&entate "rin structuri statice -tablouri1 sau "rin structuri #inamice -liste inlantuite1. Acest as"ect "oate 'i trans"arent "rin utili&ator% #aca se #e'inesc% sub 'orma unor sub"rograme -o"eratii #e acces cunoscute "rin nume% "arametri si e'ectul reali&at #e ele1 si #aca toate "relucrarile listelor se 'ac "rin interme#iul lor. Ast'el% mo#ul in care au 'ost conce"ute aceste o"eratii si mo#ul #e re"re&entare a listelor "oate 'i 9ascuns9 utili&atorului. 6etul #e o"eratii "rimiti$e% consi#erat in cele ce urmea&a% utili&ea&a "o&itia curenta in lista% #e'inita ca "o&itia elementului accesibil la un moment #at. O"eratiile #e "relucrare se re'era la elementul #in "o&itia curenta. In a'ara acestora% sunt #e'inite o"eratii care asigura mo#i'icarea "o&itiei curente. Au 'ost consi#erate urmatoarele "rimiti$e7

)1 O"eratii #e mo#i'icare a "o&itiei curente7 3o&itionareInce"ut - "o&itionare "e "rimul element #in lista 3o&itionare6'arsit - "o&itionare "e ultimul element #in lista *rmator - "o&itionare "e succesorul elementului Current 3rece#ent - "o&itionare "e "re#ecesorul elementului current

21 O"eratii #e mo#i'icare a continutului listei7

A#augaLa6'arsit - a#augarea unui element la s'arsitul listei Inserea&a/lement - inserare inaintea elementului current 5o#i'icaIn'ormatie - mo#i'icarea cheii elementului current 6terge/lement - stergerea elementului curent #in lista

:1 Initiali&areLista - initiali&area unei liste ca o lista $i#a

;1 A#resaIn'ormatie - co"ierea a#resei in'ormatiilor #in elementul current

<1 O"eratii #e caracteri&are7

.estLista=i#a - testarea unei liste #aca este $i#a .estInce"ut - testul "o&itionarii "e "rimul element .est6'arsit - testul "o&itionarii #u"a ultimul element LungimeLista - #eterminarea lungimii listei. 0/30/>/N.A0/A LI6./LO0 IN 5/5O0I/ 6"atiul #e memorie ocu"at #e lista "oate 'i alocat static -"rintr-un tablou1 sau #inamic -'olosin# "ointeri1. In "rimul ca&% elementele $ecine #in lista ocu"a "o&itii alaturate in memorie Accesul la un element #in lista% "arcurgerea listei sau a#augarea unui element la s'arsitul listei se 'ac cu usurinta% in tim" ce inserarea si stergerea #e elemente #in mijlocul listei sunt o"eratii costisitoare% #eoarece "resu"un #e"lasarea unor elemente. O lista alocata static este #e'inita "rintr-un tablou #e elemente re"re&entan# "ointeri la in'ormatia utila si "rin "o&itiile elementului curent si a ultimului element. Bibliogra'ie7 htt"7??acs.ase.ro?6tructuri?6u"ort?(:@Liste6im"le."#' htt"7??AAA.re'eratele.com?re'erate?in'ormatica?online:?Alocarea-#inamica--Notiunigenerale--Lista-liniara-#ublu-inlantuita-re'eratele-com."h" htt"7??AAA.e-scoala.ro?re'erate?in'ormatica@liste.html

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