Biblioteca

Liste

Valoare:

Gratis *

Marime:

86,68 Kb

Pagini:

7

(toate fisierele)
Nota:
8Liste, 8 out of 10 based on 4 rating
Contine fisiere:

pdf, bmp


Domenii:

Limbaje de Programare, Alte Domenii



Orice document downloadat sau uploadat este adaugat in Biblioteca Mea
Vezi informatii descarcari anterioare

Extras din document:

1. Introducere
Lista este o multime dinamica, întelegând prin aceasta faptul ca ea are un numar variabil de
elemente.
La început lista este o multime vida. În procesul executiei programului se pot adauga elemente noi
listei si totodata pot fi eliminate diferite elemente din lista.
* Elementele unei liste sunt date de acelasi tip. Tipul comun elementelor unei liste este un tip utilizator. =>
Elementele unei liste sunt structuri de acelasi tip.
* De multe ori listele sunt organizate sub forma de tablou. Acest lucru nu este eficient deoarece listele sunt
dinamice, iar tablourile din limbajul C nu sunt dinamice.
* Exista situatii în care este dificil de a evalua numarul maxim al elementelor unei liste, precum si cazuri cand
numarul lor difera de la executie la executie. => Apare problema de a organi-za o astfel de multime de tip
lista.
Ordonarea elementelor unei liste se face cu ajutorul pointerilor care intra in compunerea elementelor
listei. Datorita acestor pointeri, elementele listei devin structuri recursive. Listele organizate in acest fel
se numesc liste inlantuite.
Prin definitie, o multime dinamica de structuri recursive de acelasi tip, pentru care sunt definite
una sau mai multe relatii de ordine cu ajutorul unor pointeri din compunerea structurilor respective,
se numeste lista inlantuita.
Elementele unei liste se numesc noduri.
Daca intre nodurile unei liste exista o singura relatie de ordine, atunci lista se numeste simplu
inlantuita. In mod analog, lista este dublu inlantuita daca intre nodurile ei sunt definite doua relatii de ordine.
O lista este n-inlantuita daca intre nodurile ei sunt defi-nite n relatii de ordine.
Operatii ce tin de o lista inlantuita:
a) crearea listei inlantuite;
b) accesul la un nod oarecare al listei;
c) inserarea unui nod intr-o lista inlantuita;
d) stergerea unui nod dintr-o lista inlantuita;
e) stergerea unei liste inlantuite.
STRUCTURI DE DATE SI ALGORITMI LABORATOR 1
- 2 -
2. Lista simplu inlantuita
Intre nodurile listei simplu inlantuite avem
o singura relatie de ordonare. Exista un singur
nod care nu mai are succe-sor si un singur nod
care nu mai are predecesor. Aceste noduri
formeaza capetele listei.
Vom utiliza doi pointeri spre cele doua
capete pe care ii notam cu:
prim - pointerul spre nodul care
nu are predecesor
ultim - pointerul spre nodul care
nu are succesor.
Pointerul urm defineste relatia de succesor
pentru nodurile listei. Pentru fiecare nod, el
are ca valoare adresa nodului urmator din lista.
Exceptie face nodul spre care pointeaza varia-bila
ultim (pentru care urm ia valoarea zero).
3. Lista dublu inlantuita
Intr-o astfel de lista fiecare nod contine
doi pointeri: unul spre nodul urmator si unul spre
nodul precedent. Astfel fiecare nod al listei are un
nod precedent definit prin pointerul prec si un nod
urmator definit prin pointerul urm.
<- ultim
DATE
urm
DATE
urm
DATE
prim
0 urm
0
urm
prec
prim -->
urm
prec
urm
prec
0 urm
prec
ultim -->
STRUCTURI DE DATE SI ALGORITMI LABORATOR 1
- 3 -
4. Crearea unei liste simplu inlantuite
La crearea unei liste simplu inlantuite se realizeaza urma-toarele:
a) Se initializeaza pointerii prim si ultim cu valoarea zero, deoarece la inceput lista este vida.
b) Se rezerva zona de memorie in memoria heap pentru nodul cu-rent.
c) Se incarca nodul curent cu datele curente, daca exista si apoi se trece la pasul d). Altfel lista este creata si
se revine din functie.


    Comentarii:

    a fost predat in facultatea de electronica,anul I



    Documente similare:
    Preview document similar
    Liste Dublu Inlantuite Reprezentare cu Variabile Dinamice
    Laboratorul contine 8 pagini in format doc cu o marime totala de 8.69 KB.
    Preview document similar
    Arbori
    Laboratorul contine 13 pagini in format h, txt, c cu o marime totala de 29.32 KB.
    Preview document similar
    Tipuri de Structuri de Date in C-C++
    Proiectul contine 55 pagini in format doc cu o marime totala de 156.67 KB.
    Preview document similar
    Prezentare a Limbajului HTML
    Cursul contine 68 pagini in format doc cu o marime totala de 4.54 MB.
    Preview document similar
    Laboratoare C++ (SDA)
    Laboratorul contine 38 pagini in format doc cu o marime totala de 96.45 KB.
    Preview document similar
    Notiuni de Limbaj HTML
    Cursul contine 33 pagini in format doc cu o marime totala de 204.75 KB.
    Carti recomandate:
    Scrisa de Oana Salisteanu Cristea
    Special conceputa pentru cunoscatorii de limba italiana - studenti, profesori, traducatori -, lucrarea ofera o privire de ansamblu asupra limbajului administrativ. Capitolele contin, pe langa prezentarea teoretica a caracteristicilor acestui limbaj specializat, exercitii utile pentru insusirea tiparelor lingvistice, precum si exemple practice: ... citeste tot
    Scrisa de Karen Neuburger, Nadine Schiff
    ,,Prietenele folosesc intre ele un minunat limbaj secret, iar el este prezent in aceasta carte ce sarbatoreste, incurajeaza si delecteaza prin miracolul absolut al prieteniilor intre femei. Ia-ti pijamaua cea comoda si citeste-o!",,Ca femei, dupa cum nu avem nevoie in arsenalul nostru de frumusete numai de o singura culoare de ruj sau de oja, la ... citeste tot
    Scrisa de Tom Green, Jordan L. Chilcott
    Aceasta carte va va invata sa: - creati prezentari video cu redare continua; - realizati interfete dinamice folosind o diversitate de medii; - utilizati limbajul ActionScript pentru a crea aplicatii bogate si captivante; - realizati o prezentare Flash pentru un telefon celular si pentru un PDA; - stapaniti instrumentele de creatie video ... citeste tot
    Urmareste-ne pe Facebook: subtitrari pentru filme noi, evenimente interesante si bancuri hazlii. Like!