Liste liniare dublu înlănțuite

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 23 în total
Cuvinte : 3316
Mărime: 22.67KB (arhivat)
Puncte necesare: 7

Cuprins

  1. CAP. Structuri de date
  2. I. Clasificarea structurilor de date
  3. II. Liste liniare
  4. -Liste liniare dublu inlantuite
  5. 1. Declararea unei liste dublu inlantuite
  6. 2. Crearea unei liste cu n elemente intregi
  7. 1).crearea primului nod
  8. 2).crearea celorlalte noduri
  9. -aplicatie
  10. 3. Parcurgerea unei liste liniare dublu inlantuite
  11. 4. Crearea unei liste cand nu cunoastem numarul de elemente
  12. -aplicatie
  13. 5. Operatii in liste dublu inlantuite
  14. A. Cautarea unui element de cheie k
  15. B. Inserarea inaintea primului element
  16. C. Inserarea inaintea elementului de cheie k
  17. D. Inserarea dupa ultimul element
  18. E. Inserarea dupa elemental de cheie k
  19. F. Eliminarea primului element
  20. G.Eliminarea ultimului element
  21. H. Eliminarea elementului de cheie k
  22. -aplicatie

Extras din proiect

CAP. STRUCTURI DE DATE

Structura de date este o notiune abstracta, caracterizata prin operatiile care se executa asupra ei, in timp ce tipul de date reprezinta aspectul concret, referitor la implementare.

I. Clasificarea structurilor de date

In functie de tipul datelor memorate in cadrul structurii, structurile de date se pot clasifica in:

- Structuri de date omogene- toate datele componente sunt de acelasi tip. De exemplu, tabloul este o structura de date omogena.

- Structuri de date neomogene- pot contine date de tipuri diferite. De exemplu, articolul nu este o structura de date omogena.

Alocarea memoriei pentru structurile de date se poate face in

doua moduri

- Static: structura de date ocupa o zona de memorie de dimensiune fixa, alocata pe intreaga durata de executie a programului sau subprogramului in care a fost declarata;

- Dinamic: structura de date aloca sau se elibereaza memorie la cererea programatorului atunci cand se adauga, respectiv se sterge un element, deci zona de memorie alocata este variabila.

Alocarea dinamica a componentelor unei structuri de date determina aparitia in timp a unor noi componente care trebuie legate in structura de celelalte, ceea ce implica faptul ca orice element (componenta) a unei structuri dinamice de date contine pe langa informatia propriu-zisa si o informatie de legatura prin care se realize inlantuirea.

In functie de modul de legatura intre elemente, structurile dinamice de date se clasifica astfel:

- Structuri liniare(liste liniare);

- Structuri arborescente;

- Structuri retea;

II. LISTE LINIARE

Lista este o structura de date, construita dintr-o succesiune de componente de acelasi tip, in care fiecare element are un predecesor (cu exceptia primului), respectiv un succesor (cu exceptia ultimului). Numarul de elemente din lista este variabil, putandu-se modifica prin stergerea unor componente, sau prin adaugarea unora noi.

La randul lor listele liniare sunt de mai multe tipuri si anume: liste liniare simplu inlantuite, liste liniare dublu inlantuite, stive, cozi, liste circulare.

LISTE DUBLU INLANTUITE

O lista liniara dublu inlantuita este o lista liniara care respecta urmatoarele reguli:

- fiecare element al listei memoreaza o informatie de acelasi tip;

- oricare element din interiorul listei are un procesor si un succesor;

- exista un element pentru care nu exista decat succesor, pe care-l vom numi primul element;

- exista un element al listei care nu are decat predecesor si pe care il vom numi ultimul element.

Fiind structuri de date inlantuite avem nevoie de un tip de date care sa memoreze informatia, precum si adresele elementului predecesor si a elementului succesor.

1. Definirea unei liste dublu inlantuite

type lista=^nod;

nod=record

info:integer;

urm,pred:lista;

end;

inf-campul de informatie utila;

urm-pointer ce retine adresa elementului urmator;

pred-pointer ce retine adresa elementului anterior(predecesor);

campul campul

Preview document

Liste liniare dublu înlănțuite - Pagina 1
Liste liniare dublu înlănțuite - Pagina 2
Liste liniare dublu înlănțuite - Pagina 3
Liste liniare dublu înlănțuite - Pagina 4
Liste liniare dublu înlănțuite - Pagina 5
Liste liniare dublu înlănțuite - Pagina 6
Liste liniare dublu înlănțuite - Pagina 7
Liste liniare dublu înlănțuite - Pagina 8
Liste liniare dublu înlănțuite - Pagina 9
Liste liniare dublu înlănțuite - Pagina 10
Liste liniare dublu înlănțuite - Pagina 11
Liste liniare dublu înlănțuite - Pagina 12
Liste liniare dublu înlănțuite - Pagina 13
Liste liniare dublu înlănțuite - Pagina 14
Liste liniare dublu înlănțuite - Pagina 15
Liste liniare dublu înlănțuite - Pagina 16
Liste liniare dublu înlănțuite - Pagina 17
Liste liniare dublu înlănțuite - Pagina 18
Liste liniare dublu înlănțuite - Pagina 19
Liste liniare dublu înlănțuite - Pagina 20
Liste liniare dublu înlănțuite - Pagina 21
Liste liniare dublu înlănțuite - Pagina 22
Liste liniare dublu înlănțuite - Pagina 23

Conținut arhivă zip

  • Liste Liniare Dublu Inlantuite.doc

Alții au mai descărcat și

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Liste Dublu Înlănțuite Reprezentare cu Variabile Dinamice

/* Declaratii */ #ifndef LISTDINL_V1 #define LISTDINL_V1 #define INS_BEG 0 #define INS_END 1 #define ASC_ORD 2 #define DESC_ORD 3 #define NO_DUP...

Te-ar putea interesa și

Implementarea Polinoamelor de Grad N pe Diferite Structuri de Date

1.Introducere Obiectivul problemei Proiectul urmareste implementarea operatiilor de adunare si inmultire a polinoamelor de grad n pe diferite...

Proiect - Turbo Pascal

Capitolul 1 PREZENTAREA TEHNICII BACKTRAKING Aceasta tehnica se foloseste in rezolvarea problemelor care indeplinesc simultan urmatoarele...

Media aritmetică

Prezentarea tipului de date abstracte numit lista In domeniul calculatoarelor o lista inlantuita este una dintre structurile de date fundamentale...

Liste Liniare C++

I. ALOCAREA DINAMICA A MEMORIEI 1. VARIABILE DE TIP POINTER Def. MEMORIA interna poate fi privita ca o serie de octeti.Pentru a-i distinge...

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...

Alocare dinamică - Turbo Pascal

ALOCAREA DINAMICA A MEMORIEI 1. INTRODUCERE Memoria RAM este împartita în locatii de memorie. Fiecare locatie memoreaza un octet (8 biti) si are...

Algoritmi și Structuri de Date

Modulul 0. Alocare dinamica in limbajul C Capitolul 0. Pointeri si alocare dinamica. Tipul de date struct 0.1 Pointeri si alocare dinamica O...

Structuri de Date și Algoritmi

1. Conceptul de dată În informatică, prin dată, se desemnează un model de reprezentare a informaţiei, model cu care se poate opera pentru a obţine...

Ai nevoie de altceva?