Listă simplă

Seminar
7/10 (1 vot)
Conține 4 fișiere: doc, cpp
Pagini : 3 în total
Cuvinte : 585
Mărime: 19.09KB (arhivat)
Publicat de: Gherasim Sima
Puncte necesare: 0

Extras din seminar

Listele simplu inlantuite sunt structuri de date dinamice omogene. Spre deosebire de masive, listele nu sunt alocate ca blocuri omogene de memorie, ci ca elemente separate de memorie. Fiecare nod al listei contine, in afara de informatia utila, adresa urmatorului element. Aceasta organizare permite numai acces secvential la elementele listei.

Pentru accesarea listei trebuie cunoscuta adresa primului element (numita capul listei); elementele urmatoare sunt accesate parcurgand lista.

Lista simplu inlantuita poate fi reprezentata grafic astfel:

Lista simpla este o structura dinamica. Se caracterizeaza prin:

- o variabila pointer, care contine adresa unei zone de memorie numita primul element al listei;

- zona de memorie se compune din doua subzone: o zona cu informatii utile si o variabila pointer ce contine adresa elementului urmator;

- celelalte elemente ale listei sunt legate intre ele;

- ultimul element al listei care are variabila pointer initializata cu NULL pentru a marca inexistenta unui element urmator.

Modelul graf presupune:

- o multime de noduri;

- o multime de arce;

- fiecare nod este legat de altul PRINTR-UN SINGUR ARC;

- un nod care nu are un arc incident spre el;

- un nod care nu are nici un arc incident spre exterior.

Modelul text sursa presupune o secventa de definire recursiva de articole.

Modelul analitic presupune existenta elementelor E1, E2, E3,....,Ex. Fiecare element are un camp de informatie utila IU si un pointer de legatura PL. Exista o variabila pointer cu care se refera primul element P1.

cont(P1)=adr(E1)

cont(Ei.PL)=adr(Ei+1)

i=1,2,3,..,x-1

cont(Ex.PL)=NULL

cont(Ei.IU) = siri, i=1,2,..,x

Daca elementele listei simple se definesc prin:

struct lista_simpla

{

int info;

struct lista_simpla *next;

};

struct lista_simpla a,b,c, *p;

si daca se initializeaza corespunzator aceste variabile, atunci referirea elementelor direct folosind pointerul i presupune folosirea repetata a operatorului de referire cu variabile pointeri.

1. Traversarea unei liste simplu inlantuite

Daca nodul de inceput al listei este indicat de variabila inceput, o variabila auxiliara q, care parcurge toate nodurile listei pana cand valoarea ei devine NULL, permite accesul la fiecare nod si efectuarea operatiei specifice traversarii:

for(q=inceput;q!=NULL;q=q->urmator)

//prelucrarea nodului indicat de q

Daca lista are doua noduri fictive, unul de inceput si unul de sfarsit, secventa de traversare devin

Preview document

Listă simplă - Pagina 1
Listă simplă - Pagina 2
Listă simplă - Pagina 3
Listă simplă - Pagina 4
Listă simplă - Pagina 5
Listă simplă - Pagina 6
Listă simplă - Pagina 7
Listă simplă - Pagina 8
Listă simplă - Pagina 9
Listă simplă - Pagina 10
Listă simplă - Pagina 11

Conținut arhivă zip

  • Lista Simpla
    • ex1.cpp
    • ex2.cpp
    • ex3.cpp
    • Seminar_3.doc

Alții au mai descărcat și

Sistem Informatic privind Evidența Resurselor Umane la Întreprindere

INTRODUCERE În perioada de tranziţie la economia de piaţă o importanţă deosebită capătă automatizarea proceselor de prelucrare a informaţiei....

Structuri de date - gestiunea activității unei asociații studențești

1. Introducere Proiectul constă în realizarea unui program care are ca scop gestiunea unui magazin de vinuri, în vederea regăsirii...

Proiect Algoritmi și Structuri de Date

<<INTRODUCERE>> Procesele desfăşurate într-o activitate organizată nu au loc la întam-plare, ci sunt declanşate de anumite informaţii care...

Catalog Virtual

I. JUSTIFICAREA TEMEI Odată cu extinderea atribuţiilor ce revin diriginţilor în ce priveşte urmărirea evoluţiei elevilor din clasa pe care o...

Proiect informatică - fișiere text

1.Fişiere 1.1.Noţiuni introductive Un fişier este o colecţie de date de acelaşi tip, memorate pe suport extern (hard-disc, dischetă, CD etc)....

Înmatriculări Auto

I. INTRODUCERE Zi de zi vedem pe stradă o mulţime de maşini. După cum bine stim, indiferent de marcă, mărime, utilizare sau proprietar, fiecare...

Proiectarea Bazei de Date pentru Evidența Testărilor la un Centru de Certificare a Aptitudinilor de Operare PC

DESCRIEREA PROBLEMEI DE REZOLVAT Un centru de certificare a aptitudinilor de operare pe calculator doreşte să îşi îmbunătăţească activitatea de...

Matrice

Matrice (tablou bidimensional) Matricea este un tip de data la care elementele sunt asezate pe linii si pe coloane. Un element se identifica...

Te-ar putea interesa și

Codul bunelor maniere în afaceri și aplicații în activitatea de secretariat - lucru cu baze de date

PARTEA I CODUL BUNELOR MANIERE IN AFACERI SI APLICATII IN ACTIVITATEA DE SECRETARIAT Capitolul 1 Conceptul de secretariat Istoric, tendinte de...

Sortarea Datelor

1.Introducere Aceasta aplicatie creata în Microsoft Visual C++ 2005 are ca obiectiv gestionarea produselor si a cumparatorilor din cadrul unei...

Limbajul de Programare C - Liste

Liste O lista este o colectie de elemente de informatie (noduri) aranjate intr-o anumita ordine. Lungimea unei liste este numarul de noduri din...

Liste Dinamice

Programul principal este liste.pas , uniturile folosite pentru animatie si pagina cu cuprins sunt realizate cu -uniturile mouse, u_aa si u_buton si...

Cercetarea și Implementarea Listelor în C++

1.Introducere: Limbajul de programare C++ este limbajul C extins cu clase, functii inline, operator de supraincarcare, nume de functie...

Tablou de Structuri

Tema: Emplementarea tipului abstract de date.Tablouri de structuri in C. Scopul lucrarii: Prelucrarea si utilizarea tipului abstract de date....

Programare orientată pe obiect C++

1. INTRODUCERE ÎN C++ Exista limbaje concepute strict pe baza conceptelor programării orientate pe obiecte (POO), de exemplu Simula sau Smalltalk....

Structuri de Date

Curs2 1.TIPURI DE DATE 1.1. DATE SI INFORMATII În practica se face deosebire între o data si o informatie. Exemplele oferite în cele mai multe...

Ai nevoie de altceva?