Přejít na hlavní obsah

Jak odvodit čísla pole vzestupně

  • Josef Pavlík
  • Rady

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.