Ćwiczenia 21: Listy (1)

Zadanie 1. Utwórz listę z konkretnych 3 elementów, np 2,3,5.

zadanie 2: Utwórz listę zawierającą wartości z tablicy A[1..n] of integer.

Zadanie 3. Odwróć listę

Zadanie 4. Scalanie posortowanych list. Chodzi o przekierowanie wskaźników dwóch posortowanych list tak, aby powstała jedna posortowana lista.

Zadanie 5. Napisz procedurę Usuń(var l1:lista; l2:lista) która usunie z listy l1 wszystkie elementy z listy l2. Zakładamy, że listy l1 i l2 są posortowane niemalejąco.

Tutaj musimy ustalić, jak rozumiemy zadanie w zależności od tego, co robimy z elementami powtarzającymi się na jednej bądź drugiej liście.

a) Załóżmy najpierw, że usuwamy wszystkie elementy z l1, które mają choć jedną wspólną wartość z jakimś elementem l2.

b) A teraz usuńmy elementy na zasadzie odejmowania multizbiorów reprezentowanych przez te listy, czyli z listy l1 usuwamy tylko tyle wartości, ile ich jest na l2.

Zadanie 6. Flaga holenderska na liście
Niech czerwone, to są elementy ujemne, białe równe zero, a czerwone - dodatnie. Przestaw listę tak, aby wszystkie ujemne liczby poprzedzały zerowe, a te z kolei dodatnie.