Listă de bidirecțională

În acest articol, voi descrie lucrările tehnica cu o listă bidirecțională în forma sa clasică. Introduceți o listă de retragere și sortarea diferitelor condiții și domenii ale elementelor listă. Nu voi intra în teoria listelor - Du-te la descrierea a ceea ce ar trebui făcut pentru a rezolva această problemă și să descrie de ce este așa că am organizat activitatea în acest proces.

De administratorul site-ului

Pentru a construi lista, avem nevoie de două structuri: una - elementul câmp al listei. A doua - lista cu ancore de sine elementul care se vor lega elementele împreună.

Prima structură poate arata astfel:

Acesta îndeplinește cele 4 condiții:

  1. Dacă asc - ascendentă, iar câmpul sortării - x:
  2. Dacă desc - descendent, iar câmpul de aceeași
  3. Dacă asc - crescator, dar al doilea câmp este sortat, șirul
  4. Dacă desc - descendent la un câmp șir

În fiecare dintre următoarele condiții, respectiv, o comparație „mai mare“ sau „mai mic“, în funcție de colaționarea set. Astfel, această funcție îndeplinește procedura de sortare, așa cum se face cu elementele. În general, acesta este întregul algoritm de sortare lista bidirecțională.

Punerea într-un singur program descris mai sus și vom termina funcția principală ():

Lista Sort dublu-linked în C ++

articole similare