liste de la egal la egal liniare

Lungimea listei. Numărul de elemente din listă.

Listele pot fi dactilografiate sau netipizat. Dacă lista este tastat, tipul elementelor sale este dată, și toate elementele sale trebuie să aibă tipuri care sunt compatibile cu un anumit tip de elemente din listă. De obicei, liste implementate folosind matrice sunt tastate.

Lista poate fi sortate sau nesortate

În funcție de punerea în aplicare, poate fi posibil accesul aleatoriu la elemente ale unei liste.

 element de listă este disponibilă în program prin intermediul unui pointer. „Semnificația“ acestui indice reflectă funcționalitatea unui element din listă în program: în primul rând, ultimul, curent, anterior, noi, etc. Între indicatorul și lista element are aceeași relație ca și între indicele de matrice și elementul matrice;

 lista de programe este definit de titlu - un pointer la primul element al listei;

 ordinea elementelor determinate de succesiunea de conexiuni între elemente. Reordonarea elemente (insert, elimina) schimbările făcute resetare indicii pentru elementele vecine.

logichesky (ref) numărul de element din listă este, de asemenea, având în vedere elementele sale naturale numerotate în lanț;

spisok este o structură de date cu acces serial. Pentru polucheniyan element al contului lea trebuie să treacă succesiv prin lanțul elementului pe care există un pointer (de exemplu, un antet);

spisok este potrivit pentru a fi utilizat ca o structură de date dinamice. elementele de listă sunt, de obicei create ca variabile dinamice, un set de comunicare software-ul între ele (dinamic);

spisok are proprietatea de modificări locale: la introducerea / scoaterea unui element modificări se aplică numai pentru curent și vecinii săi. Recall matrice: inserarea / îndepărtarea elementelor sale are loc mișcarea fizică (deplasare) a tuturor elementelor curentului prin.

Rezultă că lista de beneficii observate în aceste structuri de date, în cazul în care operațiunea se schimbă ordinea prevalează asupra operațiilor de acces și de căutare.

Operațiunile pe care le avem dreptul de a efectua o listă liniară:

1. Accesul la nodul k al listei pentru a analiza și / sau

schimba conținutul câmpurilor sale.

2. Se introduce un nou nod imediat înainte de nodul k.

3. Ștergeți nodul k.

4. Se combină lista cu două (sau mai multe) liniare într-o singură listă.

5. Split, lista liniară în două (sau mai multe) a listei.

6. Faceți o copie a unei liste liniare.

7. Se determină numărul de noduri din listă.

8. Sortarea listei de noduri în ordine crescătoare în funcție de unele

9. Găsiți lista nodului cu valoarea specificată într-un câmp.

Lista unidirecțională și bidirecțională

Lista unidirecțională și bidirecțională - este o listă liniară, în care toate excepțiile și completările apar oriunde în listă.

Lista unidirecționale diferă de listă numai comunicare bidirecțională. Aceasta este, într-o listă unidirecțională, puteți muta numai într-o singură direcție (de la început până la sfârșit), și bi-direcțională - oriunde.

Exemplul 2. Eliminarea listei elementului unidirecțional cu numărul k

Dacă indicatorul se referă numai la următoarea legătură din listă (așa cum se arată în structura de mai sus declarată), atunci o astfel de listă numită unidirecțional. Dacă lista următoare și anterioare link-uri -dvunapravlennym. În cazul în care indicatorul la ultimul link-ul nu este instalat în Nil, iar titlul se referă la lista de link-ul, o listă nazyvaetsyakoltsevym. Inelul poate fi liste unidirecționale și bidirecționale.

O privire mai atentă la lucrul cu liste legate de un exemplu de listă unidirecționale non-inelar.

#include

#include

#include

#include

BT typedef lung;

articole similare