V programování je často nutné Seřadit pole čísel podle vzrůstu. Naštěstí existuje několik jednoduchých způsobů, jak to udělat. V tomto článku se podíváme na jeden z nich.
Pro začátek budeme potřebovat pole čísel, která chceme Seřadit. Představme si, že máme pole [94371].
Nejjednodušší způsob, jak seřadit čísla v tomto poli vzestupně, je použít metodu třídění dostupnou v mnoha programovacích jazycích. V JavaScriptu můžeme například použít metodu sort().
Jak seřadit čísla pole ve vzestupném pořadí?
let numbers = [5, 2, 10, 1, 3];let sortedNumbers = numbers.sort((a, b) => a - b);console.log(sortedNumbers); // [1, 2, 3, 5, 10]
V tomto příkladu vytváříme pole celých čísel numbers. Poté na tomto poli vyvoláme funkci sort a předáme jí anonymní funkci srovnání. V této anonymní funkci používáme výraz a - b, který porovnává dvě čísla a A b a vrací záporné číslo, pokud je a menší než b, nulové číslo, pokud se a rovná b, a kladné číslo, pokud je a větší než b. funkce sort tedy používá tuto anonymní srovnávací funkci k uspořádání prvků pole numbers ve vzestupném pořadí.
Metoda sort mění původní pole, takže pokud chcete zachovat původní pořadí položek, můžete před vyvoláním funkce sort vytvořit kopii pole:
// Создание копии массиваlet numbers = [5, 2, 10, 1, 3];let copyNumbers = numbers.slice();// Отсортировка копии массиваlet sortedNumbers = copyNumbers.sort((a, b) => a - b);console.log(sortedNumbers); // [1, 2, 3, 5, 10]
Pomocí vestavěné funkce třídění tedy můžete čísla snadno seřadit do pole ve vzestupném pořadí, aniž byste museli psát další kód pro srovnání a sdílení položek.
Jednoduchý způsob třídění čísel
Řazení bublinou prochází po poli několikrát, na každém průchodu porovnává dva sousední prvky a střídá je, pokud jsou v nesprávném pořadí. Postupně se velká čísla" vynořují " nahoru, dokud nebudou uspořádána ve správném pořadí.
Třídění probíhá podle pole také několikrát, na každém průchodu najde minimální prvek a vymění jej s prvním prvkem pole. Pak se Pasáž opakuje, ale už pro dílčí část, která začíná druhým prvkem. Na každém průchodu je tedy nejmenší prvek a "vyskočí" na začátek pole.
Oba algoritmy jsou snadno srozumitelné a implementovatelné, i když třídění výběrem obvykle běží o něco rychleji. Výběr algoritmu závisí na konkrétním úkolu a velikosti pole.
Proč tuto metodu použít?
Použití této metody umožňuje rychlé a efektivní třídění čísel. Algoritmus práce tohoto způsobu nezabere mnoho času a iterací.
Kromě toho lze tento způsob snadno optimalizovat pro práci s velkými datovými poli. Díky použití jednoduchého kódu a absenci složitých třídicích akcí tento způsob funguje poměrně rychle i s poli s více prvky.
Také použití této metody umožňuje zachovat pořadí prvků, které jsou si navzájem rovnocenné. Při třídění pole tímto způsobem zůstanou čísla, která jsou si navzájem rovnocenná, ve stejném pořadí, v jakém byla v původním poli. To je zvláště užitečné, když pořadí prvků hraje důležitou roli při řešení problému nebo analýze dat.
| Výhody tohoto způsobu: |
|---|
| Jednoduchost a srozumitelnost |
| Rychlé třídění |
| Optimalizace pro práci s velkými daty |
| Zachování řádu rovných prvků |
Příklad třídění čísel pole
Pro příklad zvažte následující pole čísel:
var numbers = [5, 2, 8, 4, 1];
Chcete-li seřadit toto pole vzestupně, můžete použít vestavěnou funkci JavaScript - sort():
var sortedNumbers = numbers.sort(function(a, b) < return a - b; >);
V důsledku provedení tohoto kódu bude pole sortedNumbers obsahovat čísla pole numbers seřazená podle vzestupného pořadí:
Použití funkce sort() s parametrem compareFunction, nám umožňuje určit, jak přesně by se měly porovnávat prvky pole pro třídění. V tomto případě funkce compareFunction vrátí kladné číslo, záporné číslo nebo nulu podle toho, jak je třeba provést srovnání.
Třídění čísel pole lze tedy provést pomocí malého kódu a vestavěných funkcí JavaScriptu.