Extras din laborator
1. SCOPUL LUCRARII
In aceasta lucrare se vor studia structuri, vectori de structuri si liste simplu inlantuite.
2. BREVIAR TEORETIC
2.1. Structuri
Structurile sunt folosite pentru a grupa sub acelasi nume, mai multe date de acelasi tip sau de tipuri diferite. Suni: denumite si inregistrari. In limbajul C, pentru a declara o structura, se foloseste cuvantul cheie struct. In mod uzual, numele unei structuri se declara cu ajutorul cuvantului cheie typedef. Sintaxa:
typedef structf
tipl membrull; tip2 membrull;
jnumeStructra; Exemplu:
typedef struct {
double re; double im;
} complex; Dupa ce a fost definit cuvantul cheie typedef, numele asociat structurii poate fi folosit pentru a declara variabile. Exemplu:
complex cl,c2; angajat al;
2.2. Accesul la componentele unei structuri
Pentru accesarea membrilor unei structuri, pe baza numelui ei, se foloseste operatorul punct.
Exemple:
cl.re = 0.2; cl. im = 0.7; modulCl = sqrt(cl.re* cl.re + cl.im* cl.im);
2.3. Vectori de structuri
In mod frecvent se folosesc tablouri ce au drept componente structuri. Astfel, un vector ce confine 100 de numere complexe, se declara In felul urmator: typedef struct {
double re; double im; } complex;
L4- Structuri. Vectori de structuri. Liste inlantuite
complex tab[100]; Accesam un camp dintr-o structura components a unui vector, tot prin intermediul operatorului punct, aflat la dreapta componentei. Astfel prin instructiunea:
tab[0].re = 0.5; se atribuie campului re al primei componente din vectorul tab valoarea 5.
2.4. Liste simplu inlantuite
O lista este o colectie de elemente de informatie (noduri) aranjate intr-o anumita ordine. Cea mai simpla lista este lista liniara. O lista circulara este o lista in care, dupa ultimul nod, urmeaza primul, deci fiecare nod are succesor si predecesor.
Operatiile curente care se fac in liste sunt : inserarea unui nod, extragerea unui nod, concatenarea unor liste, etc. Implementarea unei liste se poate face in principal in doua moduri:
- secvential, in locatii succesive de memorie, conform ordinii nodurilor in lista. In acest caz, accesul la un nod se face rapid, dar inserarea / §tergerea unui nod dureaza mai mult timp ( presupune mutarea mai multor noduri ).
- inldntuit. In acest caz , fiecare nod contine doua parti: informatia propriu-zisa §i adresa nodului succesor. Alocarea memoriei fiecarui nod se poate face dinamic, in timpul rularii programului. Accesul la un nod necesita parcurgerea tuturor predecesorilor sai, ceea ce ia mai mult timp. Inserarea /§tergerea unui nod este insa foarte rapida.
3. DESFA§URAREA LUCRARII
Preview document
Conținut arhivă zip
- Liste Inlantuite.doc