Kétszeresen láncolt lista algoritmusok és programozás

Kétszeresen láncolt lista algoritmusok és programozás

1. ábra Dual-link lista egy grafikus formában.

Vegyünk egy pár standard funkciókat kétszeresen láncolt lista. Funkció lökést, hogy egy új elem az i-edik helyen a listában. A funkció a következő műveleteket végzi:
1) létrehozza az új elemet;
2) értékének másolása az információs mezőben;
3) ha a egyedüli aktív elem;
3.1) mind a pointerek (következő és pred) utalnak ez az elem (ábra. 2)
3.2) első mutató egy elemet a listából.
4) egyéb módon mozgassa a mutatót az i-dik eleme, és adjunk hozzá egy új elemet, hogy az i-edik.
Új értéket a kétszeresen láncolt lista (push 4), új elemként bekerül az első után. A műtét után, a lista tartalmaz egy nyomóelem (ábra. 2).


2. ábra: Egy új értéket.

Több adjunk több értéket (tolja push 6 és 7), minden új tétel bekerül az első után. A jegyzék tartalmazza a három elemet (ábra. 3) az alábbi sorrendben.

Kétszeresen láncolt lista algoritmusok és programozás

3. ábra Ha új értékeket

pop funkció kitolja az i-edik elemét a listából. A funkció a következő műveleteket végzi:
1) ha a lista üres, hagyja a funkció;
2) Ha a lista tartalmaz egy egyetlen elem;
2.1) értékének másolása az információs mező
2.2) távolítsa el az elemet a listából
2.3) hozzárendelése a cím vakpróba
3) más módon mozgassa a mutatót az i-edik eleme;
3.1) Ha a fejléc jelzi az i-edik eleme (első == t), majd lépjen a következő elem fejléc (First = t-> következő)
3.2) értékének másolása az információs mező
3.3) távolítsa el az i-edik eleme az a listán
4) értékkel tér vissza az információs mezőben.
Funkcióját látja el a pop lineáris lista (harmadik kidobó elem). Kiindulva kapjuk az alábbi feltételt láncolt lista (ábra. 4).

Kétszeresen láncolt lista algoritmusok és programozás

4. ábra toióka.