Referat - Adresa primului element

Categorie
Referate Informatica
Data adaugarii
acum 5 ani
Afisari
417
Etichete
adresa, primului, element
Descarcari
291
Nota
0 / 10 - 0 voturi

Adresa primului element
O lista circulara simplu inlantuita este o lista in care ultimul element contine campul ce adreseaza elementul urmator, adresa primului element.



1.1. Definirea unei liste circulare simplu inlantuite

Type lista = ^nod;
nod = record
inf: integer;
adr: lista;
end;
var pr: lista;







Crearea unei liste circulare se realizeaza in mod asemanator cu o lista liniara simplu inlantuita, cu deosebirea ca ultimul element adaugat in lista nu va mai avea in campul de adresa valoarea NIL, ci adresa primului element adaugat.


1.2. Crearea unei liste circulare cu numar cunoscut de elemente

Vom crea mai intai primul element al listei. Folosind un ciclu for vor fi adaugate la sfarsitul listei celelalte elemente. In final campul de adresa al ultimului element adaugat va contine adresa primului element.
Vom utiliza pointerii : pr – contine adresa primului element adaugat in lista; ul – contine adresa ultimului element adaugat in lista; p – contine adresa elementului ce se adauga.

Procedure creare (var p:lista);
Var p, ul : lista;
i: integer;
begin
new(pr);
readln(pr^.inf);
ul:=pr;
for i := 1 to n-1 do begin
new(p); readln(p^.inf);
ul^.adr:=p;
ul:=p;
end;
ul^.adr:pr;
end;



1.3. Afisarea elementelor unei liste circulare

Parcurgem nodurile listei cu ajutorul unui pointer care plecand de la un element al listei, va referi pe rand fiecare nod al listei, pana cand va adresa nodul de pornire.

Parcurgerea folosind un ciclu while

Procedure parc1 (pr:lista);
var p:lista;
begin
p:=pr;
while (p^.adrpr) do begin
write (p^.inf,’ ’); p:= p^.adr;
end;
write (p^.inf);
end;

Parcurgerea folosind un ciclu repeat

Procedure parc2 (pr:lista);
var p:lista;
begin
p:=pr;
repeat
write (p^.inf,’ ’);
p:=p^.adr;
until p=pr;
end;

1.4. Adaugarea unui element intr-o lista circulara

Sa se scrie un subprogram ce realizeaza inserarea unui nod dupa elementul de cheie k dintr-o lista circulara.


Copyright © Toate drepturile rezervare. 2008 - 2024 - Referatele.org