powrót

Ćwiczenia 9 - Listy z dowiązaniami (2 pkt termin: 13:30:00 10-12-2014)

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}
  1. Liczba elementów listy - itereacyjnie
  2. Liczba elementów listy - rekurencyjnie
  3. Stos lista (2 pkt termin: 13:30:00 10-12-2014 i zad. 4)
  4. Kolejka lista (2 pkt termin: 13:30:00 10-12-2014 i zad. 5)
  5. Odwracanie listy dwukierunkowej