Jednoduché řadicí algoritmy (řazení primitivních datových typů, problematika řazení objektů)
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.
PAD Programování a databáze
Téma 22
Školní rok 2017/2018
1/2
Jan Švábík, V4D
Jednoduché řadicí algoritmy (řazení primitivních
datových typů, problematika řazení objektů)
Jednoduché řadicí algoritmy
Každý algoritmus pracuje na trochu jiném principu a rychlost jejich vykonání se různí.
Bubble sort (bublinkové řazení)
V bubble sortu se postupně systematicky porovnávají dvojice sousedních prvků, které se vzájemně
prohodí v momentě, když menší číslo následuje po větším. Z hlediska naprogramování je bubble
sort nejjednodušším algoritmem, pro praktické účely je však neefektivní. Částečně seřazené pole
zpracuje rychleji než neseřazené. Používá se hlavně pro výukové účely.
public static void bubbleSort(int[] array){
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if(array[j] < array[j+1]){
int tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
}
Select sort (třídění přímým výběrem)
Principem tohoto řazení je výběr mezního prvku (maxima nebo minima) z tříděné posloupnosti
a jeho záměna s prvním (nebo posledním) prvkem. V dalším kroku se třídí pole o n-1 prvcích a je
opakován tentýž průběh. Takto je postupováno až do úplného seřazení posloupnosti. Získaná
posloupnost bude seřazená vzestupně v případě, že budeme vybírat z nesetříděné posloupnosti
vždy nejmenší prvek a zařadíme ho na začátek posloupnosti, a sestupně v případě, že vybereme
největší prvek. Setříděná část pole se při tomto řazení postupně zvětšuje, zatímco nesetříděná se
postupně zmenšuje.