-
Data: 2015-07-16 01:39:45
Temat: Re: Kiedy qsort zaczyna źle działać?
Od: Pit <n...@s...lonestar.org> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 15.07.2015 Borneq <b...@a...hidden.pl> napisał/a:
> Jeśli chodzi o sprawdzanie tej tablicy, to występuje to tak rzadko, że
> zamiast sprawdzać za pomocą if, lepiej, zwłaszcza w Javie czekać na wyjątek.
W Javie żadna kolekcja (ze standardowej biblioteki) nie zwraca dla 'sort'
wyjątków postaci "nietypowy przypadek, zabrakło stosu" tylko radzi sobie z
takimi problemami wewnętrznie. Jedyne wyjątki jakie można dostać, to
nieprawidłowy zakres czy nieprawidłowy komparator (ewentualnie
NullPointerException jeśli masz tablicę referencji do obiektów i któraś
referencja jest pusta). Zresztą nie można mieć żadnej gwarancji co do tego
jaki konkretnie algorytm kryje się pod metodą 'sort' (może być inny dla
listy, inny dla wektora a jeszcze inny dla na przykład SortedSet czy
kolejki priorytetowej), bo po pierwsze implementacja może się różnić w
zależności od wersji Javy a po drugie implementacja może się różnić od
ilości danych (czy od tego co się będzie działo w trakcie sortowania).
Zresztą wyjątki w Javie służą raczej do sytuacji w których twórca
klasy/metody musi coś zasygnalizować użytkownikowi klasy/metody z czym
klasa/metoda sama w sobie nie jest w stanie sobie poradzić w rozsądny
sposób (na przykład użytkownik klasy zgłasza chęć utworzenia pliku, którego
nazwa w danym systemie operacyjnym zawiera niedopuszczalne znaki). Problemy
typu "niebezpiecznie duże użycie stosu" należy rozwiązywać wewnętrznie a
nie poprzez zgłaszanie wyjątków typu "pomieszaj trochę dane, bo się
trafił nieoptymalny/brzegowy przypadek" D
Następne wpisy z tego wątku
- 16.07.15 08:31 Borneq
- 16.07.15 11:43 firr
- 18.07.15 21:30 Wojciech Muła
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS