-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Pit <n...@s...lonestar.org>
Newsgroups: pl.comp.programming
Subject: Re: Kiedy qsort zaczyna źle działać?
Date: Wed, 15 Jul 2015 23:39:45 +0000 (UTC)
Organization: ATMAN - ATM S.A.
Lines: 24
Message-ID: <s...@n...lan>
References: <mo6d72$n3b$1@node1.news.atman.pl> <mo6i8q$sld$1@node1.news.atman.pl>
<mo6im9$cqj$1@node2.news.atman.pl>
NNTP-Posting-Host: user-164-127-88-124.play-internet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1437003585 4505 164.127.88.124 (15 Jul 2015 23:39:45
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 15 Jul 2015 23:39:45 +0000 (UTC)
User-Agent: slrn/1.0.1 (Linux)
Xref: news-archive.icm.edu.pl pl.comp.programming:207854
[ ukryj 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
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=