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