Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Jednoduché řadicí algoritmy (řazení primitivních datových typů, problematika řazení objektů)

PDF
Stáhnout kompletní materiál zdarma (259.33 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Řazení primitivních datových typů 

V programovacím  jazyce  je  obvykle  již  implementováno,  jak  posuzovat  hodnoty  primitivních 
datových typů. Jazyk tak při řazení ví, že 5 je menší než 14, 0 větší než -22 či že false (0) má nižší 
hodnotu než true (1). Pro řazení pole s primitiv. datovými typy slouží metoda Arrays.sort(pole). 

Problematika řazení objektů 

Hlavním problémem u řazení objektů je ten, že program sám o sobě neví, podle jaké vlastnosti 
takového objektu by měl kolekci objektů seřadit. Existují pak dvě možnosti, jak objekty řadit. 

1.  přirozené řazení – je řazeno pomocí stejných metod jako neprimitivní datové typy, tedy 

sort() a binarySearch(); porovnání objektů musí být definováno ve třídě těchto objektů 

2.  absolutní řazení – je tu možnost si zvolit, podle čeho se má kolekce objektů řadit, metodě 

sort() předáme druhý parametr, který vlastnost, podle které řadit, určuje  

Přirozené řazení 

Třída implementuje rozhraní java.lang.Comparable s metodou compareTo(Trida t). Tato metoda 
je pak vnitřně při snaze řadit objekty volána a každé dva objekty jsou postupně porovnávány, až 
jsou seřazeny. Funkce vrací vždy -1, 0 nebo 1 podle toho, zda má být porovnávaný objekt chápán 
jako nižší, rovný nebo vyšší. 

Absolutní řazení 

Třída implementuje rozhraní java.lang.Comparator, které má dvě metody. První z nich je metoda 
equals(Object o)

 – dědí ji automaticky každá třída ze třídy Object, není tedy nutno ji definovat, 

druhou metodou je pak int compare(Trida t1, Trida t2).  

Témata, do kterých materiál patří