• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sortowanie odwrotne

Object Storage Arubacloud
0 głosów
936 wizyt
pytanie zadane 13 kwietnia 2017 w Java przez Swierzak Użytkownik (690 p.)

Witam

Jako parametr otrzymuje tablice doubli, moim zadaniem jest podzielic ja na parzyste i nieparzyste. Parzyste posortowac malejaco i nastepnie polaczyc te dwie tablice.

Np. dostaje tablice [1,2,3,4,5,6] a na wyjsciu mam - [1,3,5,6,4,2].

Zrobilem to wykorzystujac Jave 8 i zdaje sobie sprawe, ze mozna to bylo zrobic lepiej.Problem polega na tym, ze sortowanie malejace daje mi bledne wyniki.

Ponizej podaje kod i przyklad, na ktorym sie wykladam.

public static Double[] sortItOut(Double[] array) {
List<Double> odd = Arrays.stream(array).filter(i -> i%2 != 0).collect(Collectors.toList());
List<Double> even = Arrays.stream(array).filter(i -> i%2 == 0).collect(Collectors.toList());
Collections.sort(odd);
Collections.reverse(even);
odd.addAll(even);

return odd.stream().toArray(Double[]::new);
}

Dane wejsciowe:

new Double[]{11d, 22d, 33d, 44d, 55d, 55d, 90.4, 4d, 78d}

Dane wyjsciowe: 11.0  33.0  55.0  55.0  90.4  78.0  4.0  44.0  22.0

Ktos umie wyjasnic skad sie wziela tam ta 4 ? :D

1 odpowiedź

0 głosów
odpowiedź 13 kwietnia 2017 przez Aisekai Nałogowiec (42,190 p.)
A sortujesz gdzieś liste z parzystymi? Bo z tego co widzę masz w liście z parzystymi taką kolejność:

22, 44, 4, 78. Co po odwróceniu daje 78, 4, 44, 22. Więc jest tak jak powinno.

PS: Z matematycznego punktu widzenia, czy da się określić czy liczba 90.4 jest parzysta? :D

Podobne pytania

0 głosów
1 odpowiedź 2,614 wizyt
pytanie zadane 29 grudnia 2018 w Java przez msukiennik Początkujący (380 p.)
0 głosów
1 odpowiedź 1,330 wizyt
+2 głosów
1 odpowiedź 241 wizyt
pytanie zadane 16 maja 2021 w JavaScript przez Bartx Bywalec (2,120 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...