Documente Academic
Documente Profesional
Documente Cultură
Structura de date este o noţiune abstractă, prin care se înţelege un ansamblu de date caracterizat prin
relaţiile existente între ele şi a operaţiilor care pot fi efectuate cu datele respective.
Clasificarea structurilor de date se poate face în funcţie de:
1.TIPUL DATELOR
• structuri de date omogene, adică toate datele componente sunt de acelaşi tip (ex. VECTORI, MATRICI)
• structuri de date neomogene, adică pot conţine date de tipuri diferite(TIPUL STRUCT).
2. ALOCAREA MEMORIEI
• static - structura de date ocupă o zonă de memorie de dimensiune fixă,alocată pe întreaga durată
a execuţiei blocului în care este declarată.
• DINAMIC - structura de date ocupă o zonă de memorie de dimensiune variabilă, alocată pe parcursul
execuţiei programului la cererea explicită a programatorului.
Alocarea dinamica a componentelor structurii impune un mecanism prin care o noua componenta aparuta
este legata in succesiune logica de corpul structurii deja format pana atunci.
Rezulta ca fiecare componenta, pe langa informatia propriu-zisa pe care o detine, trebuie sa contina si o
informatie de legatura cu componenta cu care se leaga logic in succesiune.
Aceasta informatie de legatura va fi adresa componentei spre care se realizeaza succesiunea logica, iar
mecanismul se mai numeste si alocare inlantuita dupa adrese.
LISTE
DEFINITII
Există următoarele tipuri de liste:
Nodul
liniară simplu înlănţuită - legăturile între noduri
este o unitate de informaţie elementară care
sunt liniare şi într-un singur sens.
conţine informaţii utile şi date de legătură.
lista liniară dublu înlănţuită – fiecare nod este
Lista
legat prin pointeri atât de nodul anterior, cât şi de
este o structură de date constituită dintr-o
nodul următor.
succesiune de elemente,numite noduri, aflate
lista circulară – ultimul nod adresează primul nod.
într-o relaţie de ordine.
Componentele listei se vor aloca dinamic. Avem nevoie de o variabila statica sau locala cu ajutorul careia
sa putem accesa primul element al listei. Fie acesta prim.
Cu ajutorul ei putem accesa prima componenta, care contine o legatura catre ce-a de-a doua etc. Din
aproape in aproape putem ajunge la ultimul element al listei.
crearea listei
adaugarea unui element la inceputul listei
Putem crea primul nod a listei intr.-un subprogram separat sau putem
folosi acelasi subprogram pentru creare primul nod si adaugarea celorlate
noduri.
Creare si adaugare-suprogram
int main()
{
cout<<"n=";
cin>>n;//se citeste numarul de noduri
for(int i=1;i<=n;i++)
cre_ad( );//se adauga pe rand informatia din fiecare nod
return 0;
}