Introducere in Stiinta Calculatoarelor 2013 | Page 58
necesare). Fără ordinea la locul de muncă nu se poate lucra eficient, iar
asamblarea ordonată a automobilului este scopul prelucrărilor din
secţie. Orice prelucrare se face cu organizarea prealabilă a materialelor
şi uneltelor de lucru, deci nu este de mirare că şi în prelucrarea datelor
organizarea este esenţială.
Între tipurile de date structurate prezentate, tabloul este similar trusei de
şurubelniţe iar articolul - panoului de scule (ex: explicaţi
dumneavoastră asemănarea), aşa cum s-a amintit acestea fiind structuri
statice de date. Automobilul este o structură în evoluţie, şi poate fi
asemănat cu una din structurile deja prezentate la (lista lineară sau lista
nelineară - arborele), acestea fiind structuri dinamice de date.
În concluzie, structurile de date sunt organizări ale datelor în scopul
realizării eficiente a unor categorii generale de prelucrări, implementate
prin tipul articol (iar operaţiile asupra lor prin programe separate) sau,
mai eficient, implementate prin obiecte ce conţin datele din structuri şi
metodele – ca posibile asupra lor, aşa cum se prezintă în continuare.
5.5.1. Liste lineare
În mod intuitiv lista poate fi privită ca o mulţime finită şi ordonată de
elemente oarecare. Un vector poate fi privit ca o listă care prezintă însă
două mari dezavantaje: număr elementelor trebuie cunoscut de la
început (datorită naturii statice a vectorilor) şi faptul că introducerea
unui nou element între altele existente necesită re-aranjarea elementelor
care urmează celui nou (datorită naturii compacte a vectorilor).
Listă simplu înlănţuită
Pentru cazul când pointer-ul Pi indică nodul următor, lista se numeşte
simplu înlănţuită şi apare ca în figura 14; ultimul nod conţine în câmpul
Pi o valoare ce indică sfârşitul listei - valoare numită nil (în Pascal) sau
NULL (în C, C++ sau Java), valoare care indică spre „nimic”.
Figura 14. Listă lineară simplu înlănţuită
58