Informatică Programare

Liste inlantuite C++

Listele înlănțuite în C++ sunt structuri de date liniare unde elementele (noduri) sunt legate prin pointeri. Ele permit inserții și ștergeri eficiente, dar accesul este secvențial. Se implementează manual sau folosind list din STL.

Implementare manuală

  1. 1
    Definește structura nod struct Nod { int valoare; Nod* urmator; };
  2. 2
    Creează lista Nod* cap = nullptr; - pointer către primul element.
  3. 3
    Adaugă la început Nod* nou = new Nod{val, cap}; cap = nou;
  4. 4
    Parcurge lista for(Nod* p = cap; p != nullptr; p = p->urmator) cout << p->valoare;
  5. 5
    Șterge element Ajustează pointerii pentru a evita memory leaks, apoi delete.

Folosirea STL

  • Declarare #include <list>; list<int> listaMea;
  • Operații comune listaMea.push_front(1); listaMea.push_back(2); listaMea.pop_front();
  • Iterare for(auto it = listaMea.begin(); it != listaMea.end(); ++it) cout << *it;

Pentru operații frecvente de inserție/ștergere, liste înlănțuite sunt superioare vectorilor.

Mai multe din Programare