logo

Razvrščanje z binarnim vstavljanjem

Razvrščanje z binarnim vstavljanjem je algoritem za razvrščanje, ki je podoben algoritmu vrsta vstavljanja , vendar namesto linearnega iskanja za iskanje lokacije, kamor naj bo element vstavljen, uporabljamo binarno iskanje . Tako zmanjšamo primerjalno vrednost vstavljanja posameznega elementa z O (N) na O (log N).

Je prilagodljiv algoritem, kar pomeni, da deluje hitreje, ko so isti dani člani že močno razvrščeni, tj. trenutna lokacija funkcije je bližje njeni dejanski lokaciji na razvrščenem seznamu.



Je stabilen algoritem filtriranja – elementi z enakimi vrednostmi se v zadnjem vrstnem redu pojavijo v istem zaporedju, kot so bili na prvem seznamu.

Aplikacije razvrščanja binarnega vstavljanja:

  • Razvrščanje z binarnim vstavljanjem najbolje deluje, če ima matrika manjše število elementov.
  • Ko izvajate hitro razvrščanje ali razvrščanje z združevanjem, ko se velikost podmatrike zmanjša (recimo <= 25 elementov), ​​je najbolje uporabiti binarno razvrščanje z vstavljanjem.
  • Ta algoritem deluje tudi, ko so stroški primerjav med ključi dovolj visoki. Na primer, če želimo filtrirati več nizov, bo zmogljivost primerjave dveh nizov višja.

Kako deluje binarno razvrščanje z vstavljanjem?

  • V načinu razvrščanja z binarnim vstavljanjem razdelimo iste člane v dve podnizici – filtrirano in nefiltrirano. Prvi element istih članov je v organiziranem podmatriku, vsi ostali elementi pa so nenačrtovani.
  • Nato ponovimo od drugega elementa do zadnjega. Pri ponovitvi i-tega naredimo trenutni objekt naš ključ. Ta ključ je funkcija, ki bi jo morali dodati na naš obstoječi seznam spodaj.
  • Da bi to naredili, najprej uporabimo binarno iskanje v razvrščeni podmatriki spodaj, da poiščemo lokacijo elementa, ki je večji od našega ključa. Imenujmo ta položaj poz. Nato smo premaknili vse elemente desno od pos do 1 in ustvarili Array[pos] = key.
  • Opazimo lahko, da je pri vsakem i-tem množenju levi del matrike do (i – 1) že razvrščen.

Pristop k izvajanju razvrščanja z binarnim vstavljanjem:

  • Ponovi matriko od drugega elementa do zadnjega elementa.
  • Shranite trenutni element A[i] v spremenljiv ključ.
  • Poiščite položaj elementa, ki je ravno večji od A[i] v podmatriki od A[0] do A[i-1] z uporabo binarnega iskanja. Recimo, da je ta element na indeksu poz.
  • Premaknite vse elemente od indeksa pos do i-1 proti desni.
  • A[pos] = ključ.

Spodaj je izvedba za zgornji pristop:

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[nizko]) ?> >(low + 1) : low;> >int> mid = (low + high) / 2;> >if> (item == a[mid])> >return> mid + 1;> >if> (item>a[sredi])> >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] = izbrano; } } // Koda gonilnika int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; vstavljanjeSort(a, n); cout<<'Sorted array: '; for (i = 0; i cout <<' '<< a[i]; return 0; } // this code is contribution by shivanisinghss2110>

npm predpomnilnik čist

>

>

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[nizko]) ?> >(low + 1) : low;> >int> mid = (low + high) / 2;> >if> (item == a[mid])> >return> mid + 1;> >if> (item>a[sredi])> >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] = izbrano; } } // Koda gonilnika int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; vstavljanjeSort(a, n); printf('Razvrščena matrika: '); for (i = 0; i printf('%d ', a[i]); return 0; }>

>

>

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>konec:> >return> start> >mid>=> (start>+>end)>/>/>2> >if> arr[mid] return binary_search(arr, val, mid+1, end) elif arr[mid]>val: vrni binary_search(arr, val, start, mid-1) else: vrni 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('Razvrščena matrika:') print(insertion_sort( [37, 23, 0, 31, 22, 17, 12, 72, 31, 46, 100, 88, 54])) # Koda, ki jo je prispeval Mohit Gupta_OMG>

>

>

C#




kontradiktorno iskanje

// 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; $mid = (int)(($low + $high) / 2); if($item == $a[$mid]) vrni $mid + 1; if($item> $a[$mid]) return binarySearch($a, $item, $mid + 1, $high); return binarySearch($a, $item, $low, $mid - 1); } // Funkcija za razvrščanje matrike a velikosti 'n' function insertionSort(&$a, $n) { $i; $loc; $j; $k; $izbrano; za ($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] = $izbrano; } } // Koda gonilnika $a = array(37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54); $n = sizeof($a); vstavljanjeSort($a, $n); echo 'Razvrščena matrika: '; za ($i = 0; $i<$n; $i++) echo '$a[$i] '; // This code is contributed by // Adesh Singh ?>>

>

>

Javascript




> // Javascript Program implementing> // binary insertion sort> function> binarySearch(a, item, low, high)> {> > >if> (high <= low)> >return> (item>a[nizko]) ?> >(low + 1) : low;> > >mid = Math.floor((low + high) / 2);> > >if>(item == a[mid])> >return> mid + 1;> > >if>(item>a[sredi])> >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) { polje [j + 1] = polje [j]; j--; } // Postavitev elementa na njegovo // pravilno lokacijo array[j+1] = x; } } // Koda gonilnika let arr=[ 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54]; sort(arr); for (let i = 0; i document.write(arr[i] + ' '); // To kodo je prispeval unknown2108 // C program za implementacijo // binarnega vstavljanja sort #include // Binarno iskanje zasnovana funkcija // za iskanje položaja // kamor naj bo element vstavljen // v a[low..high] int binarySearch(int a[], int item, int low, int high) { if (high<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; selected = a[i]; // poišči mesto, kamor naj bo izbrano vstavljeno loc = binarySearch(a, selected, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; } // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Sorted array: '); for (i = 0; i printf('%d ', a[i]); r// C program za implementacijo binarnega vstavljanja sort #include // Funkcija, ki temelji na binarnem iskanju // za iskanje položaja // kamor naj bo element vstavljen // v a[low..high] int binarySearch(int a[], int item, int low, int high) { če (visoko<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; selected = a[i]; // poišči mesto, kjer naj bo izbrano vstavljeno loc = binarySearch(a, selected, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; } // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Sorted array: '); for (i = 0; i printf('%d ', a[i]); // C program za implementacijo binarnega vstavljanja sort # vključi // Funkcijo, ki temelji na binarnem iskanju // za iskanje položaja, // kamor naj bo element vstavljen // v [low..high] int binarySearch(int a[], int item, int low, int high) { if (visoko<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; izbrano = a[i]; // poišči mesto, kjer naj bo izbrano vstavljeno loc = binarySearch(a, izbrano, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Sorted array: '); for (i = 0; i printf('%d ', a[i]); // C program za implementacijo binarnega vstavljanja sort # vključi // Funkcijo, ki temelji na binarnem iskanju // za iskanje položaja, // kamor naj bo predmet vstavljen // v [low..high] int binarySearch(int a[], int item, int low, int high) { if (visoko<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; selected = a[i]; // poišči mesto, kamor naj bo izbrano vstavljeno loc = binarySearch(a, selected, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; } // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Sorted array: '); for (i = 0; i printf('%d ', a[i]); // C program za implementacijo binarnega vstavljanja sort # vključi // Funkcijo, ki temelji na binarnem iskanju // za iskanje položaja, // kamor naj bo element vstavljen // v [low..high] int binarySearch(int a[], int item, int low, int high) { if (visoko<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; izbrano = a[i]; // poišči mesto, kjer naj bo izbrano vstavljeno loc = binarySearch(a, izbrano, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Sorted array: '); for (i = 0; i printf('%d ', a[i]);// C program za implementacijo binarnega vstavljanja sort # vključi // Funkcijo, ki temelji na binarnem iskanju // za iskanje položaja, // kamor naj bo predmet vstavljen // v [low..high] int binarySearch(int a[], int item, int low, int high) { if (visoko<= low) return (item>a[nizko]) ? (nizko + 1) : nizko; int mid = (nizko + visoko) / 2; if (item == a[mid]) return mid + 1; if (item> a[mid]) return binarySearch(a, item, mid + 1, high); vrni binarySearch(a, item, low, mid - 1); } // Funkcija za razvrščanje matrike a[] velikosti 'n' void insertionSort(int a[], int n) { int i, loc, j, k, izbrano; for (i = 1; i { j = i - 1; selected = a[i]; // poišči mesto, kjer naj bo izbrano vstavljeno loc = binarySearch(a, selected, 0, j); // Premakni vse elemente za lokacijo ustvariti presledek (j>= loc) { a[j + 1] = a[j]; } a[j + 1] = izbrano; } // Koda gonilnika int main() { int a [] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; insertionSort(a, n ); printf('Razvrščena matrika: '); for (i = 0; i printf('%d ', a[i])>

>

>

Izhod

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

Časovna zapletenost: Algoritem kot celota še vedno deluje v najslabšem primeru O(n2) zaradi niza zamenjav, potrebnih za vsako vstavitev.

Drug pristop: Sledi iterativna izvedba zgornje rekurzivne kode

razčlenjevanje niza v int

C++




#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[sredi])> >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] = izbrano; } } // Koda gonilnika int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; vstavljanjeSort(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[sredi])> >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] = izbrano; } } // Koda gonilnika int main() { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = sizeof(a) / sizeof(a[0]), i; vstavljanjeSort(a, n); printf('Razvrščena matrika: '); for (i = 0; i printf('%d ', a[i]); return 0; } // prispeval 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[sredi])> >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] = izbrano; } } // Koda gonilnika public static void main (String[] args) { int a[] = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = a.length, i; vstavljanjeSort(a, n); System.out.println('Razvrščena matrika:'); for (i = 0; i System.out.print(a[i] +' '); } } // To kodo je prispeval shivanisinghss2110.>

>

>

Python3




# 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[sredina]):> >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#

seznam pisav v gimp




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[sredi])> >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] = izbrano; } } // Koda gonilnika public static void Main (String[] args) { int []a = { 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 }; int n = a.Dolžina, i; vstavljanjeSort(a, n); Console.WriteLine('Razvrščena matrika:'); for (i = 0; i Console.Write(a[i] +' '); } } // To kodo je prispeval 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[sredi])> >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] = izbrano; } } // Koda gonilnika var a = [ 37, 23, 0, 17, 12, 72, 31, 46, 100, 88, 54 ]; var n = a.length, i; vstavljanjeSort(a, n); document.write('Razvrščena matrika:' + ' '); for (i = 0; i document.write(a[i] +' '); // To kodo je prispeval shivanisinghss2110>

>

>

Izhod

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