R1KSK8bTfIKoK
Fotografia przedstawia kartki samoprzylepne, doklejane do ściany.

I_R_W13A_M03_JAVA Zaawansowane  struktury danych

Źródło: Kelly Sikkema, domena publiczna.
Już wiesz
  • Jakie są rodzaje struktur danych.

  • Jak scharakteryzować możliwości i przykładowe zastosowania podstawowych struktur danych.

  • Jaka jest terminologia związaną z podstawowymi strukturami danych.

  • Jak zapimplementować w języku Java dynamiczne struktury danych, takie jak lista, stos, kolejka.

1
Ć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.
RFIeJYJJenyOq
1
Ć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.
R1SH8IpCqmNmB
1
Ć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.
R8GjSNFjKnXpX
1
Ć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.
R1VEqsyK5GQ2g
1
Ć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.
ReGK6k0oN7WXC
1
Ćwiczenie 6

Zapisz metodę 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ą metodę w metodzie 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.
Rz2ttZIROzixq
1
Ćwiczenie 7

Zapisz metodę wypiszOdWezla(wezel), która wypisuje elementy listy cyklicznej dwukierunkowej, zaczynając od węzła wskazywanego przez podaną referencję wezel. Jeśli metoda otrzyma jako argument referencję pustą (null), 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.
R86oaSZ8kd2AZ
1
Ćwiczenie 8

Zapisz metodę usunWezel(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 referencje pusta (null), metoda powinna usuwać pierwszy węzeł listy. Jeśli lista jest pusta, metoda powinna zwrócić minimalną wartość całkowitą reprezentowaną przez stałą Integer.MIN_VALUE.

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