Liste

Curs
8.3/10 (4 voturi)
Conține 2 fișiere: pdf, bmp
Pagini : 7 în total
Cuvinte : 2003
Mărime: 86.68KB (arhivat)
Publicat de: Visarion Trifan
Puncte necesare: 0
a fost predat in facultatea de electronica,anul I

Extras din curs

1. Introducere

Lista este o multime dinamica, întelegând prin aceasta faptul ca ea are un numar variabil de

elemente.

La început lista este o multime vida. În procesul executiei programului se pot adauga elemente noi

listei si totodata pot fi eliminate diferite elemente din lista.

* Elementele unei liste sunt date de acelasi tip. Tipul comun elementelor unei liste este un tip utilizator. =>

Elementele unei liste sunt structuri de acelasi tip.

* De multe ori listele sunt organizate sub forma de tablou. Acest lucru nu este eficient deoarece listele sunt

dinamice, iar tablourile din limbajul C nu sunt dinamice.

* Exista situatii în care este dificil de a evalua numarul maxim al elementelor unei liste, precum si cazuri cand

numarul lor difera de la executie la executie. => Apare problema de a organi-za o astfel de multime de tip

lista.

Ordonarea elementelor unei liste se face cu ajutorul pointerilor care intra in compunerea elementelor

listei. Datorita acestor pointeri, elementele listei devin structuri recursive. Listele organizate in acest fel

se numesc liste inlantuite.

Prin definitie, o multime dinamica de structuri recursive de acelasi tip, pentru care sunt definite

una sau mai multe relatii de ordine cu ajutorul unor pointeri din compunerea structurilor respective,

se numeste lista inlantuita.

Elementele unei liste se numesc noduri.

Daca intre nodurile unei liste exista o singura relatie de ordine, atunci lista se numeste simplu

inlantuita. In mod analog, lista este dublu inlantuita daca intre nodurile ei sunt definite doua relatii de ordine.

O lista este n-inlantuita daca intre nodurile ei sunt defi-nite n relatii de ordine.

Operatii ce tin de o lista inlantuita:

a) crearea listei inlantuite;

b) accesul la un nod oarecare al listei;

c) inserarea unui nod intr-o lista inlantuita;

d) stergerea unui nod dintr-o lista inlantuita;

e) stergerea unei liste inlantuite.

STRUCTURI DE DATE SI ALGORITMI LABORATOR 1

- 2 -

2. Lista simplu inlantuita

Intre nodurile listei simplu inlantuite avem

o singura relatie de ordonare. Exista un singur

nod care nu mai are succe-sor si un singur nod

care nu mai are predecesor. Aceste noduri

formeaza capetele listei.

Vom utiliza doi pointeri spre cele doua

capete pe care ii notam cu:

prim - pointerul spre nodul care

nu are predecesor

ultim - pointerul spre nodul care

nu are succesor.

Pointerul urm defineste relatia de succesor

pentru nodurile listei. Pentru fiecare nod, el

are ca valoare adresa nodului urmator din lista.

Exceptie face nodul spre care pointeaza varia-bila

ultim (pentru care urm ia valoarea zero).

3. Lista dublu inlantuita

Intr-o astfel de lista fiecare nod contine

doi pointeri: unul spre nodul urmator si unul spre

nodul precedent. Astfel fiecare nod al listei are un

nod precedent definit prin pointerul prec si un nod

urmator definit prin pointerul urm.

<- ultim

DATE

urm

DATE

urm

DATE

prim

0 urm

0

urm

prec

prim -->

urm

prec

urm

prec

0 urm

prec

ultim -->

STRUCTURI DE DATE SI ALGORITMI LABORATOR 1

- 3 -

4. Crearea unei liste simplu inlantuite

La crearea unei liste simplu inlantuite se realizeaza urma-toarele:

a) Se initializeaza pointerii prim si ultim cu valoarea zero, deoarece la inceput lista este vida.

b) Se rezerva zona de memorie in memoria heap pentru nodul cu-rent.

c) Se incarca nodul curent cu datele curente, daca exista si apoi se trece la pasul d). Altfel lista este creata si

se revine din functie.

Preview document

Liste - Pagina 1
Liste - Pagina 2
Liste - Pagina 3
Liste - Pagina 4
Liste - Pagina 5
Liste - Pagina 6
Liste - Pagina 7

Conținut arhivă zip

  • Liste
    • SDA_L1 - lista.pdf
    • SDA_L1_Sch_Log_corectat.bmp

Alții au mai descărcat și

Structuri de Date de Tip Graf în C - Caiet de Laborator

LABORATOR 1 Tema1 : Scrieţi programul C care permite crearea şi vizualizarea unui arbore binar ordonat cu vizualizare naturală. 1. Descrierea...

Fișiere în limbajul C

Capitolul I Fisiere in ingineria programarii in C 1.1 Generalitati Un fisier este o multime de informatii referitoare la o clasa de obiecte...

Descrierea Algoritmilor

DESCRIEREA ALGORITMILOR, Algoritm, program, programare DESCRIEREA ALGORITMILOR 1.1 Algoritm, program, programare Aparitia primelor...

Laboratoare C++ (SDA)

1.1. Crearea şi afişarea unei liste Exerciţiul 1. Să se scrie programul pentru crearea unei liste simplu înlănţuite cu preluarea datelor de la...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Algoritmi și Structuri de Date

1. ALGORITMI SI MODURI DE REPREZENTARE Prelucrarea datelor cu ajutorul calculatorului se realizeazã prin executia unor operatii simple...

Programare II - limbajul C

Cap 1 INTRODUCERE ÎN LIMBAJUL C 1.1 Scurt istoric 1.2 Forma unui program C 1.3 Compilarea unui program C 1.1 Scurt istoric Strămoşii...

Noțiuni introductive privind programarea în C++

Laborator 2 NOŢIUNI INTRODUCTIVE PRIVIND PROGRAMAREA ÎN C++ 1. Scopul lucrării Însuşirea cunoştinţelor de bază privind modalitatea de realizare...

Te-ar putea interesa și

Implementarea bazei de date a unui policlinici - listă dublu înlănțuită circulară

1. Introducere 1.1. Istoria bazelor de date Când vine vorba despre stocarea informaţiilor, pentru unii acest termen înseamnă o agenda veche în...

Diversitatea biologică și poluarea - lista roșie a specilor

Introducere Diversitatea biologică sau biodiversitatea este unul dintre termeni cheie în domeniul conservării incluzănd bogăţia vieţii şi...

Listă meniu a unui restaurant moldovenesc

CAPITOLUL I 1.1 Întocmirea şi redactarea listelor de preparate şi băuturi Cel mai adesea clientul îşi formeză prima impresie despre restaurant pe...

Protecționismul în viziunea lui Friedrich List

FRIEDRICH LIST ŞI PROTECŢIONISMUL ECONOMIC Cel supranumit,”Parintele protectionismului modern” Friedrich List (1789 1846),a fost un intelectual...

Listarea la Bursă și Efectul Său Asupra Prețului Acțiunilor

INTRODUCERE Orice investitor român sau străin poate să tranzacţioneze la bursă dar nu direct, ci numai prin intermediul unei societăţi de...

Liste liniare dublu înlănțuite

CAP. STRUCTURI DE DATE Structura de date este o notiune abstracta, caracterizata prin operatiile care se executa asupra ei, in timp ce tipul de...

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

Prezentare Alumil Rom Industry SA - listare la bursă

1. PREZENTAREA COMPANIEI ALUMIL ROM INDUSTRY S.A. este o filiala a companiei ALUMIL GROUP S.A., care este un grup industrial de nivel european...

Ai nevoie de altceva?