Velbloudi

V rámci procvičování práce s ukazateli a se spojovými seznamy jsme řešili problém obrácení jednosměrného spojového seznamu. Zadání bylo podobné následujícímu:

  • Mějme jednosměrný spojový seznam reprezentovaný následující strukturou:
    type 	PBox = ^TBox;
    	TBox = record
    		val: integer;
    		next: PBox;
    	end;
    

  • Napište funkci/proceduru, která dostane jako vstup ukazatel na první prvek seznamu a jako výstup vrátí ukazatel na seznam, ve kterém budou prvky uspořádané v opačném pořadí oproti původnímu seznamu.

Situaci volně ilustruje následující obrázek karavany velbloudů.

Karavana

Vkládání do setříděného seznamu

Zabývali jsme se také implementací procedury, která do setříděného jednosměrného spojového seznamu dokáže vložit nový prvek a zachová při tom setřídění. Hlavní finta spočívala v tom, že si při procházení seznamu držíme ještě jeden ukazatel, který ukazuje na prvek "těsně za" aktuálním prvkem. Finta

Domácí úkol

Zůstávají zadány příklady Telefonní seznam čísel a Spojové seznamy - Dělení řidkých polynomů.