logo

Binárne zoradenie vloženia

Binárne vkladanie triedenie je triediaci algoritmus, ktorý je podobný triedenie vloženia , ale namiesto lineárneho vyhľadávania na nájdenie miesta, kam by mal byť prvok vložený, používame binárne vyhľadávanie . Znížime teda porovnávaciu hodnotu vloženia jedného prvku z O (N) na O (log N).

Ide o flexibilný algoritmus, čo znamená, že funguje rýchlejšie, keď sú tie isté dané členy už silne zoradené, t. j. aktuálna poloha prvku je bližšie k jeho skutočnému umiestneniu v zoradenom zozname.



Ide o stabilný algoritmus filtrovania – prvky s rovnakými hodnotami sa objavujú v rovnakom poradí v poslednom poradí, ako boli v prvom zozname.

Aplikácie zoradenia binárneho vkladania:

  • Zoradenie binárneho vkladania funguje najlepšie, keď má pole nižší počet položiek.
  • Keď robíte rýchle triedenie alebo triedenie zlúčením, keď sa veľkosť podpolia zmenší (povedzme <= 25 prvkov), je najlepšie použiť triedenie s binárnym vkladaním.
  • Tento algoritmus funguje aj vtedy, keď sú náklady na porovnanie medzi kľúčmi dostatočne vysoké. Napríklad, ak chceme filtrovať viacero reťazcov, porovnávacia výkonnosť dvoch reťazcov bude vyššia.

Ako funguje triedenie binárneho vkladania?

  • V režime triedenia binárneho vkladania rozdeľujeme rovnaké členy do dvoch podpolí – filtrované a nefiltrované. Prvý prvok tých istých členov je v organizovanom podpole a všetky ostatné prvky sú neplánované.
  • Potom iterujeme od druhého prvku k poslednému. Pri opakovaní i-tého robíme z aktuálneho objektu náš kľúč. Tento kľúč je funkcia, ktorú by sme mali pridať do nášho existujúceho zoznamu nižšie.
  • Aby sme to dosiahli, najprv použijeme binárne vyhľadávanie v triedenom podpole nižšie, aby sme našli umiestnenie prvku väčšieho ako náš kľúč. Nazvime túto pozíciu poz. Potom presunieme všetky prvky doprava z pozície na 1 a vytvoríme Array[pos] = key.
  • Môžeme si všimnúť, že pri každom i-tom násobení je ľavá časť poľa till (i – 1) už zoradená.

Prístup k implementácii triedenia binárneho vkladania:

  • Iterujte pole od druhého prvku k poslednému prvku.
  • Uložte aktuálny prvok A[i] do premenného kľúča.
  • Nájdite polohu prvku práve väčšiu ako A[i] v podpole od A[0] do A[i-1] pomocou binárneho vyhľadávania. Povedzme, že tento prvok je na pozícii indexu.
  • Posuňte všetky prvky z pozície indexu na i-1 smerom doprava.
  • A[pos] = kľúč.

Nižšie je uvedená implementácia vyššie uvedeného prístupu:

C++








// C program for implementation of> // binary insertion sort> #include> using> namespace> std;> // A binary search based function> // to find the position> // where item should be inserted> // in a[low..high]> int> binarySearch(>int> a[],>int> item,> >int> low,>int> high)> {> >if> (high <= low)> >return> (item>a[nízka]) ?> >(low + 1) : low;> >int> mid = (low + high) / 2;> >if> (item == a[mid])> >return> mid + 1;> >if> (item>a[stred])> >return> binarySearch(a, item,> >mid + 1, high);> >return> binarySearch(a, item, low,> >mid - 1);> }> // Function to sort an array a[] of size 'n'> void> insertionSort(>int> a[],>int> n)> {> >int> i, loc, j, k, selected;> >for> (i = 1; i { j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; insertionSort(a, n); cout<<'Sorted array: '; for (i = 0; i cout <<' '<< a[i]; return 0; } // this code is contribution by shivanisinghss2110>

>

zoznam používateľov mysql
>

C




// C program for implementation of> // binary insertion sort> #include> // A binary search based function> // to find the position> // where item should be inserted> // in a[low..high]> int> binarySearch(>int> a[],>int> item,> >int> low,>int> high)> {> >if> (high <= low)> >return> (item>a[nízky]) ?> >(low + 1) : low;> >int> mid = (low + high) / 2;> >if> (item == a[mid])> >return> mid + 1;> >if> (item>a[stred])> >return> binarySearch(a, item,> >mid + 1, high);> >return> binarySearch(a, item, low,> >mid - 1);> }> // Function to sort an array a[] of size 'n'> void> insertionSort(>int> a[],>int> n)> {> >int> i, loc, j, k, selected;> >for> (i = 1; i { j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; insertionSort(a, n); printf('Zoradené pole: '); for (i = 0; i printf('%d ', a[i]); návrat 0; }>

>

>

Java




fizzbuzz java
// Java Program implementing> // binary insertion sort> import> java.util.Arrays;> class> GFG> {> > >public> static> void> main(String[] args)> >{> >final> int>[] arr = {>37>,>23>,>0>,>17>,>12>,>72>,> >31>,>46>,>100>,>88>,>54> };> >new> GFG().sort(arr);> >for> (>int> i =>0>; i System.out.print(arr[i] + ' '); } // Driver Code public void sort(int array[]) { for (int i = 1; i { int x = array[i]; // Find location to insert // using binary search int j = Math.abs( Arrays.binarySearch(array, 0, i, x) + 1); // Shifting array to one // location right System.arraycopy(array, j, array, j + 1, i - j); // Placing element at its // correct location array[j] = x; } } } // Code contributed by Mohit Gupta_OMG>

>

>

Python3




# Python Program implementation> # of binary insertion sort> def> binary_search(arr, val, start, end):> > ># we need to distinguish whether we> ># should insert before or after the> ># left boundary. imagine [0] is the last> ># step of the binary search and we need> ># to decide where to insert -1> >if> start>=>=> end:> >if> arr[start]>val:> >return> start> >else>:> >return> start>+>1> ># this occurs if we are moving> ># beyond left's boundary meaning> ># the left boundary is the least> ># position to find a number greater than val> >if> start>koniec:> >return> start> >mid>=> (start>+>end)>/>/>2> >if> arr[mid] return binary_search(arr, val, mid+1, end) elif arr[mid]>val: return binary_search(arr, val, start, mid-1) else: return mid def insertion_sort(arr): for i in range(1, len(arr)): val = arr[i] j = binary_search(arr, val, 0, i-1) arr = arr[:j] + [val] + arr[j:i] + arr[i+1:] return arr print('Sorted array:') print(insertion_sort( [37, 23, 0, 31, 22, 17, 12, 72, 31, 46, 100, 88, 54])) # Kód prispel Mohit Gupta_OMG>

>

>

C#




// C# Program implementing> // binary insertion sort> using> System;> class> GFG {> >public> static> void> Main()> >{> >int>[] arr = { 37, 23, 0, 17, 12, 72,> >31, 46, 100, 88, 54 };> >sort(arr);> >for> (>int> i = 0; i Console.Write(arr[i] + ' '); } // Driver Code public static void sort(int[] array) { for (int i = 1; i { int x = array[i]; // Find location to insert using // binary search int j = Math.Abs( Array.BinarySearch(array, 0, i, x) + 1); // Shifting array to one location right System.Array.Copy(array, j, array, j + 1, i - j); // Placing element at its correct // location array[j] = x; } } } // This code is contributed by nitin mittal.>

>

>

PHP




// PHP program for implementation of // binary insertion sort // A binary search based function to find // the position where item should be // inserted in a[low..high] function binarySearch($a, $item, $low, $high) { if ($high <= $low) return ($item>$a[$low]) ? ($low + 1) : $low; $stred = (int)(($nízky + $vysoký) / 2); if($item == $a[$mid]) return $stred + 1; if($item> $a[$mid]) return binarySearch($a, $item, $mid + 1, $high); return binarySearch($a, $položka, $nízka, $stred - 1); } // Funkcia na triedenie poľa a veľkosti 'n' function insertionSort(&$a, $n) { $i; $loc; $j; $k; $vybrané; pre ($i = 1; $i<$n; ++$i) { $j = $i - 1; $selected = $a[$i]; // find location where selected // item should be inserted $loc = binarySearch($a, $selected, 0, $j); // Move all elements after location // to create space while ($j>= $loc) { $a[$j + 1] = $a[$j]; $j--; } $a[$j + 1] = $vybrané; } } // Kód ovládača $a = array(37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54); $n = sizeof($a); insertionSort($a, $n); echo 'Zoradené pole: '; pre ($i = 0; $i<$n; $i++) echo '$a[$i] '; // This code is contributed by // Adesh Singh ?>>

>

počítač vynájdený rok
>

Javascript




> // Javascript Program implementing> // binary insertion sort> function> binarySearch(a, item, low, high)> {> > >if> (high <= low)> >return> (item>a[nízka]) ?> >(low + 1) : low;> > >mid = Math.floor((low + high) / 2);> > >if>(item == a[mid])> >return> mid + 1;> > >if>(item>a[stred])> >return> binarySearch(a, item,> >mid + 1, high);> > >return> binarySearch(a, item, low,> >mid - 1);> }> function> sort(array)> {> >for> (let i = 1; i { let j = i - 1; let x = array[i]; // Find location to insert // using binary search let loc = Math.abs( binarySearch(array, x, 0, j)); // Shifting array to one // location right while (j>= loc) { pole[j + 1] = pole[j]; j--; } // Umiestnenie prvku na // správne miesto pole[j+1] = x; } } // Kód ovládača let arr=[ 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54]; sort(arr); for (nech i = 0; i document.write(arr[i] + ' '); // Tento kód prispel neznámym2108 // C program na implementáciu // binárneho vkladania sort #include // Binárne vyhľadávanie založená funkcia // na nájdenie pozície // kde má byť položka vložená // v a[nízka..vysoká] int binárneHľadať(int a[], int položka, int nízka, int vysoká) { if (vysoká<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam sa má vložiť vybraté loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; printf('Zoradené pole: ' pre (i = 0; i printf('%d ', a[i]); r// C program na implementáciu // triedenia binárneho vkladania); #include // Funkcia binárneho vyhľadávania // na nájdenie pozície // kam by mala byť položka vložená // v a[nízka..vysoká] int binarySearch(int a[], int položka, int nízka, int vysoká) { ak (vysoké<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam má byť vybraté vložené loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; ); printf('Zoradené pole: ' for (i = 0; i printf('%d ', a[i]); // C program na implementáciu // binárneho vkladania sort #); include // Funkcia založená na binárnom vyhľadávaní // na nájdenie pozície // kam má byť položka vložená // v a[low..high] int binarySearch(int a[], int item, int low, int high) { if (vysoké<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam má byť vybraté vložené loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; ); printf('Zoradené pole: ' for (i = 0; i printf('%d ', a[i]); // C program na implementáciu // binárneho vkladania sort #); include // Funkcia založená na binárnom vyhľadávaní // na nájdenie pozície // kam má byť položka vložená // v a[low..high] int binarySearch(int a[], int item, int low, int high) { if (vysoké<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam sa má vložiť vybraté loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; ); printf('Zoradené pole: ' for (i = 0; i printf('%d ', a[i]); // C program na implementáciu // binárneho vkladania sort #); include // Funkcia založená na binárnom vyhľadávaní // na nájdenie pozície // kam má byť položka vložená // v a[low..high] int binarySearch(int a[], int item, int low, int high) { if (vysoké<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam má byť vybraté vložené loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; ); printf('Zoradené pole: ' for (i = 0; i printf('%d ', a[i]);// C program na implementáciu // binárneho vkladania zoraď #); include // Funkcia založená na binárnom vyhľadávaní // na nájdenie pozície // kam má byť položka vložená // v a[low..high] int binarySearch(int a[], int item, int low, int high) { if (vysoké<= low) return (item>a[nízky]) ? (nízka + 1) : nízka; int stred = (nízka + vysoká) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); return binarySearch(a, item, low, mid - 1); } // Funkcia na triedenie poľa a[] veľkosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, vybraté; for (i = 1; i { j = i - 1; vybrané = a[i]; // nájsť umiestnenie, kam má byť vybraté vložené loc = binarySearch(a, vybrané, 0, j); // Presunúť všetky prvky za umiestnenie na vytvorenie priestoru while (j>= loc) { a[j + 1] = a[j] j-- } a[j + 1] = vybraté } // Kód ovládača int main() { int a; [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; ); printf('Zoradené pole: ' pre (i = 0; i printf('%d ', a[i])>

>

>

Výkon

Sorted array: 0 12 17 23 31 37 46 54 72 88 100>

Časová zložitosť: Algoritmus ako celok má stále spustený čas prevádzky v najhoršom prípade O(n2) z dôvodu série swapov potrebných na každé vloženie.

Iný prístup: Nasleduje iteratívna implementácia vyššie uvedeného rekurzívneho kódu

C++




algoritmus pre bfs
#include> using> namespace> std;> // iterative implementation> int> binarySearch(>int> a[],>int> item,>int> low,>int> high)> {> >while> (low <= high) {> >int> mid = low + (high - low) / 2;> >if> (item == a[mid])> >return> mid + 1;> >else> if> (item>a[stred])> >low = mid + 1;> >else> >high = mid - 1;> >}> >return> low;> }> // Function to sort an array a[] of size 'n'> void> insertionSort(>int> a[],>int> n)> {> >int> i, loc, j, k, selected;> >for> (i = 1; i j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; insertionSort(a, n); cout<<'Sorted array: '; for (i = 0; i cout <<' '<< a[i]; return 0; } // This code is contributed by shivanisinghss2110.>

>

>

C




#include> // iterative implementation> int> binarySearch(>int> a[],>int> item,>int> low,>int> high)> {> >while> (low <= high) {> >int> mid = low + (high - low) / 2;> >if> (item == a[mid])> >return> mid + 1;> >else> if> (item>a[stred])> >low = mid + 1;> >else> >high = mid - 1;> >}> >return> low;> }> // Function to sort an array a[] of size 'n'> void> insertionSort(>int> a[],>int> n)> {> >int> i, loc, j, k, selected;> >for> (i = 1; i j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = veľkosť(a) / veľkosť(a[0]), i; insertionSort(a, n); printf('Zoradené pole: '); for (i = 0; i printf('%d ', a[i]); return 0; } // prispel tmeid>

>

>

Java




import> java.io.*;> class> GFG {> // iterative implementation> static> int> binarySearch(>int> a[],>int> item,>int> low,>int> high)> {> >while> (low <= high) {> >int> mid = low + (high - low) />2>;> >if> (item == a[mid])> >return> mid +>1>;> >else> if> (item>a[stred])> >low = mid +>1>;> >else> >high = mid ->1>;> >}> >return> low;> }> // Function to sort an array a[] of size 'n'> static> void> insertionSort(>int> a[],>int> n)> {> >int> i, loc, j, k, selected;> >for> (i =>1>; i j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača public static void main (String[] args) { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = a.dĺžka, i; insertionSort(a, n); System.out.println('Zoradené pole:'); for (i = 0; i System.out.print(a[i] +' '); } } // Tento kód prispel shivanisinghss2110.>

>

>

Python3




čo je veľkonočné vajíčko pre Android

# iterative implementation> def> binarySearch(a, item, low, high):> >while> (low <>=> high):> >mid>=> low>+> (high>-> low)>/>/> 2> >if> (item>=>=> a[mid]):> >return> mid>+> 1> >elif> (item>a[mid]):> >low>=> mid>+> 1> >else>:> >high>=> mid>-> 1> >return> low> > # Function to sort an array a[] of size 'n'> def> insertionSort(a, n):> >for> i>in> range> (n):> >j>=> i>-> 1> >selected>=> a[i]> > ># find location where selected should be inserted> >loc>=> binarySearch(a, selected,>0>, j)> > ># Move all elements after location to create space> >while> (j>>=> loc):> >a[j>+> 1>]>=> a[j]> >j>->=>1> >a[j>+> 1>]>=> selected> # Driver Code> a>=> [>37>,>23>,>0>,>17>,>12>,>72>,>31>,>46>,>100>,>88>,>54>]> n>=> len>(a)> insertionSort(a, n)> print>(>'Sorted array: '>)> for> i>in> range> (n):> >print>(a[i], end>=>' '>)> # This code is contributed by shivanisinghss2110>

>

>

C#




using> System;> class> GFG {> // iterative implementation> static> int> binarySearch(>int> []a,>int> item,>int> low,>int> high)> {> >while> (low <= high) {> >int> mid = low + (high - low) / 2;> >if> (item == a[mid])> >return> mid + 1;> >else> if> (item>a[stred])> >low = mid + 1;> >else> >high = mid - 1;> >}> >return> low;> }> // Function to sort an array a[] of size 'n'> static> void> insertionSort(>int> []a,>int> n)> {> >int> i, loc, j, selected;> >for> (i = 1; i j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača public static void Main (String[] args) { int []a = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = a.Dĺžka, i; insertionSort(a, n); Console.WriteLine('Zoradené pole:'); for (i = 0; i Console.Write(a[i] +' '); } } // Tento kód pridal shivanisinghss2110>

>

>

Javascript




> // iterative implementation> function> binarySearch( a, item, low, high)> {> >while> (low <= high) {> >var> mid = low + (high - low) / 2;> >if> (item == a[mid])> >return> mid + 1;> >else> if> (item>a[stred])> >low = mid + 1;> >else> >high = mid - 1;> >}> >return> low;> }> // Function to sort an array a[] of size 'n'> function> insertionSort(a, n)> {> >var> i, loc, j, k, selected;> >for> (i = 1; i j = i - 1; selected = a[i]; // find location where selected should be inserted loc = binarySearch(a, selected, 0, j); // Move all elements after location to create space while (j>= loc) { a[j + 1] = a[j]; j--; } a[j + 1] = vybraté; } } // Kód ovládača var a = [ 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 ]; var n = a.dĺžka, i; insertionSort(a, n); document.write('Zoradené pole:' + ' '); for (i = 0; i document.write(a[i] +' '); // Tento kód pridal shivanisinghss2110>

>

>

Výkon

Sorted array: 0 12 17 23 31 37 46 54 72 88 100>