11
Ćwiczenie 1

Zapisz metody zwroc_glowa()zwroc_ogon, które zwrócą wartości zapisane odpowiednio w pierwszym i ostatnim elemencie listy niecyklicznej jednokierunkowej bez ich usuwania. Jeżeli lista jest pusta, metody powinny zwrócić minimalną wartość całkowitą.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 3, 5, 8.

Poprawny wynik działania programu:

Linia 1. Głowa dwukropek 3. Linia 2. Ogon dwukropek 8.
R13F05NRsmprG
11
Ćwiczenie 2

Zapisz metodę podaj_rozmiar(), która zwróci liczbę elementów zapisanych w liście niecyklicznej jednokierunkowej.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 1, 2, 3.

Poprawny wynik działania programu:

Linia 1. Rozmiar dwukropek 3.
RHiTlUqWbTLVG
11
Ćwiczenie 3

Zapisz metodę usun_ostatni(), która usuwać będzie ostatni element listy niecyklicznej jednokierunkowej i zwróci zapisaną w nim wartość lub minimalną wartość całkowitą, jeżeli lista będzie pusta.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 1, 2, 3, a następnie usuniesz dwa ostatnio dodane elementy.

Poprawny wynik działania programu:

Linia 1. Lista dwukropek 1.
Rjno0eyR236ia
21
Ćwiczenie 4

Zapisz metodę odwroc(), która odwróci kolejność elementów listy niecyklicznej jednokierunkowej.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 3, 5, 8.

Poprawny wynik działania programu:

Linia 1. Lista dwukropek 8 5 3.
ReHZZ7oke30hm
21
Ćwiczenie 5

Zapisz metodę wypisz_wstecz(), która wypisuje elementy listy niecyklicznej dwukierunkowej od końca.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 13, 8, 5.

Poprawny wynik działania programu:

Linia 1. Lista dwukropek 5 8 13.
RAaGly641cu28
31
Ćwiczenie 6

Zapisz funkcję wypisz_rekursywnie(), która wypisze elementy listy jednokierunkowej w odwrotnej kolejności, tj. od ogona do głowy. W rozwiązaniu wykorzystaj rekurencję i wywołaj napisaną funkcję.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 8, 13, 2.

Poprawny wynik działania programu:

Linia 1. 21 13 8.
Rk5UN2uTSASal
31
Ćwiczenie 7

Zapisz metodę wypisz_od_wezla(), która wypisuje elementy listy cyklicznej dwukierunkowej, zaczynając od węzła wskazywanego przez podaną referencję wezel. Jeśli metoda otrzyma jako argument pustą referencję (None), wypisywanie powinno rozpocząć się od pierwszego węzła listy.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 13, 21, 34.

Poprawny wynik działania programu:

Linia 1. Lista dwukropek 21 34 13.
Rg1ymFs0pyUtx
31
Ćwiczenie 8

Zapisz metodę usun_wezel(), która usuwa przekazany jako referencja węzeł z listy cyklicznej dwukierunkowej i zwraca wartość przechowywaną w tym węźle. W przypadku, gdy argumentem metody jest referencja pusta (None), metoda powinna usuwać pierwszy węzeł listy. Jeśli lista jest pusta, funkcja powinna zwrócić minimalną wartość całkowitą reprezentowaną przez stałą -sys.maxsize - 1.

Działanie programu przetestuj dla listy, do której dodasz kolejno wartości 13, 21, 34. Usuwanym węzłem powinien być węzeł znajdujący się bezpośrednio po głowie (jej następnik).

Poprawny wynik działania programu:

Linia 1. Lista dwukropek 13 34.
R1cd8k9LALNfb