powrót
Ćwiczenia 9 - Listy z dowiązaniami (2 pkt termin: 20:59:00 10-12-2015)
Main
STRUCT-LIST L
WRITE(L)
LIST-INSERT(L,1)
LIST-INSERT(L,2)
WRITE(L)
LIST-INSERT(L,3)
LIST-SEARCH(L,2)
LIST-SEARCH(L,4)
LIST-INSERT-AFTER(L,2,4)
WRITE(L)
LIST-DELETE(L,2)
WRITE(L)
LIST-DELETE(L,5)
WRITE(L)
LIST-INSERT-BEFORE(L,3,5)
WRITE(L)
Lista
STRUCT-LIST
head = NIL
{tail = NIL}
STRUCT-NODE
key = NIL
next = NIL
{prev = NIL}
LIST-INSERT(L, x)
x.next = L.head
{if L.head ≠ NIL
L.head.prev = x}
L.head = x
{x.prev = NIL}
LIST-SEARCH(L,k)
x = L.head
while x ≠ NIL AND x.key ≠ k
x = x.next
return x
LIST-INSERT-AFTER(L, x, y)
{x.prev = y}
x.next = y.next
{if y.next ≠ NIL
y.next.prev = x}
y.next = x
LIST-INSERT-BEFORE(L, x, y)
{x.prev = y.prev}
x.next = y
{if y.prev ≠ NIL
y.prev.next = x}
y.prev = x // !
LIST-DELETE(L,x)
{if x.prev ≠ NIL
x.prev.next = x.next
else}
L.head = x.next // !
{if x.next ≠ NIL
x.next.prev = x.prev}
- Liczba elementów listy - iteracyjnie
- Liczba elementów listy - rekurencyjnie
- Stos lista (2 pkt termin: 20:59:00 10-12-2015 i zad. 4)
- Kolejka lista (2 pkt termin: 20:59:00 10-12-2015 i zad. 3)
- Odwracanie listy dwukierunkowej