11
Ćwiczenie 1

Zapisz metody zwrocGlowa()zwrocOgon, 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.
RGi2SXliQeI8X
11
Ćwiczenie 2

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

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

Poprawny wynik działania programu:

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

Zapisz metodę usunOstatni(), 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.
RPtdr1viuPnrz
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.
R1ESR3Xv8PoVo
21
Ćwiczenie 5

Zapisz metodę wypiszWstecz(), 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.
R16o8H1vwf0LS
31
Ćwiczenie 6

Zapisz funkcję wypiszRekursywnie(), 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ę w funkcji głównej.

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.
RFiqevkOfJMVp
31
Ćwiczenie 7

Zapisz metodę wypiszOdWezla(Wezel* wezel), która wypisuje elementy listy cyklicznej dwukierunkowej, zaczynając od węzła wskazywanego przez podany wskaźnik wezel. Jeśli metoda otrzyma jako argument pusty wskaźnik (nullptr), 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.
RYBIUZac6pppg
31
Ćwiczenie 8

Zapisz metodę usunWezel(Wezel* wezel), która usuwa przekazany jako wskaźnik węzeł z listy cyklicznej dwukierunkowej i zwraca wartość przechowywaną w tym węźle. W przypadku, gdy argumentem metody jest pusty wskaźnik (nullptr), metoda powinna usuwać pierwszy węzeł listy. Jeśli lista jest pusta, funkcja powinna zwrócić minimalną wartość całkowitą reprezentowaną przez stałą INT_MIN.

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.
Rn4Mm6xyNEoPb