listă înlănțuită

Lista Linked - un fel de structuri de date liniare care reprezintă succesiunea elementelor de obicei, sortate în conformitate cu o regulă predeterminată. Secvența poate cuprinde orice număr de elemente, de la crearea listei folosește alocarea dinamică a memoriei.

Fiecare element al unei liste legat este un obiect separat care conține câmp pentru stocarea informațiilor și un pointer la următorul element al listei (ca în cazul listei de două ori legat este stocat în indicatorul obiect la elementul anterior).

O diagramă care prezintă o liste coerente și dublu legate de trei elemente:

listă înlănțuită

Mișcarea pe lista făcută de semnele care indică elementele adiacente ale listei. La adăugarea unui element nou la lista de a aloca dinamic memorie pentru ea și atribuie semne la valori ale elementelor învecinate, precum și direcțiile elementului creat corespunzător.


Crearea unei liste simplu legat

Ca un exemplu, ia în considerare lista legată care stochează numere întregi. Elemente ale listei sortate în ordine crescătoare în funcție de numărul, care este stocat în intrare.
Fiecare element din listă este o instanta a structurii, care este descrisă după cum urmează: Există pnext - pointer la următorul element listă, iar valoarea - câmpul de stocare a informației.

Pentru a adăuga un element nou la funcția lista de utilizare add2list (). Aici pphead - un pointer la un pointer la capul listei (de exemplu, la primul element), Val - valoarea care urmează să fie adăugate la lista. La adăugarea unui nou element din listă ia în considerare numărul de valoare care urmează să fie plasate în elementul câmp de informații care urmează să fie creat. Astfel, ordonarea elementelor listă, care sunt aranjate în ordine crescătoare, nu este rupt, iar lista este sortată.

Retrageți spiskok pe ecran, puteți utiliza funcția de imprimare (): Deoarece memoria alocată pentru elementele din listă dinamic, după sfârșitul listei, trebuie să eliminați în mod explicit toate elementele sale. Ștergețidin Elementele listă pot fi puse în aplicare după cum urmează: Testați funcția de a lucra cu o listă legată poate fi după cum urmează:
Crearea unei liste de două ori legat

Noi da acum un exemplu de implementare a stivei folosind o listă de două ori legată.
Vom defini o structură care descrie un element din listă: Această definiție diferă de la un simplu element de listă legată de prezența doar un pointer la elementul lista precedentă (pprev).

Determinarea clasei stiva va fi după cum urmează: punctele plast ultimul element împins pe stiva. conta - numărul de elemente din stivă.
Funcția de împingere () pune un nou element în stivă, pop () extrase funcție din elementul stivă și partea de sus () întoarce valoarea elementului superior, fără a scoate-l.

Realizarea de funcții pentru lucrul cu stive: Testați funcția de apăsare () și pop ().
acasă

articole similare