Uvod o izbiri Razvrsti na Javi

Izbiranje Razvrsti v Javi je način razvrščanja, ki v nesortiranem delu nenehno najde najmanjši element in ga obdrži na začetku (za razvrščanje po naraščajočem vrstnem redu). Postopek se bo ponavljal, dokler se ne razvrsti vhodni niz. Prav tako bomo v Izbirni razvrstitvi vhodni niz razdelili na dve poddrugi, pri čemer se ena matrika uporablja za razvrščene elemente, druga pa za nesortirane elemente. Na začetku ne bo nobenega elementa v razvrščeni poddrugi. Oglejte si delovanje selekcijske razvrstitve podrobno v naslednjem razdelku.

Kako deluje sorta izbire na Javi

Izbirna razvrstitev deluje na preprost način, kjer zadrži dve podrasti iz vhodnega niza. To so:

  • Razvrščeno poddružino, da ohranite razvrščene elemente
  • Nesortirano podzračje za ohranjanje nesortiranih elementov.

Algoritem:

Sledi algoritem, ki se uporablja za sortiranje izbire

  1. Nastavite najmanjši (MIN) kazalec na lokacijo 0.
  2. Poiščite najmanjši element s seznama elementov v matriki
  • Zamenjajte najmanjši element z lokacijo 0
  1. Premaknite kazalec MIN na naslednji položaj
  2. Postopek ponavljajte, dokler vhodni niz ni razvrščen.

Razložimo razvrstitvene vrste s primerom. Sledi vhodni niz, ki ga je treba razvrstiti. Elementi v barvi Bold Blue bodo del razvrščenega niza.

1. korak : kazalec MIN nastavite na prvo mesto. Torej, kazalec MIN kaže na 15.

Najmanjši: = 15

2. korak : Najdite najmanjši element, če ga primerjate s preostalimi elementi. Če primerjamo 15 in 21, 15 je najmanjše. Torej, najmanjši se v tem primeru ne bo spremenil.

Najmanjši: = 15

Če primerjamo 15 in 6, 6 je najmanjše.

Najmanjši: = 6

Če primerjamo 6 in 3, 3 je najmanjše.

Najmanjši: = 3

3 bo tudi v tem primeru manjši, saj je 19 večja od 3.

Najmanjši: = 3

Najmanjši: = 3

Končno je v tej iteraciji 3 najmanjše.

3. korak : Zamenite najmanjši element z elementom na lokaciji 0.

4. korak: Povečajte kazalec MIN na naslednji položaj.

5. korak: Poiščite naslednji najmanjši element, če ga primerjate s preostalimi elementi.

Najmanjši: = 21

Najmanjši: = 6

Najmanjši: = 6

Najmanjši: = 6

Najmanjši: = 6

6. korak: Zamenite najmanjši element z elementom v lokaciji 1.

Postopek ponavljajte, dokler ni oblikovan razvrščen niz, kot je prikazano spodaj.

Primeri za izvajanje razvrščanja izbire v Javi

Kot smo že omenili, izbira izbire temelji na iskanju minimalne vrednosti in zamenjavi. Zdaj pa poglejmo, kako izvajati izbirno vrsto z uporabo Jave.

Program Java za razvrščanje elementov v matriki z uporabo možnosti izbire

import java.util.*;
public class SelSortExample (
//Method that implements Selectionsort
public static void selsort(int() arr)
(
int n=arr.length; //length of the array
for(int i=0;i (
int MIN=i; //set the first position as minimum
System.out.println("Sorting based on Number "+(i+1));
//Find the smallest element by comparing with the element in MIN position
for(int j=i+1;j (
System.out.println("Comparing "+ arr(MIN) + " and " + arr(j));
if(arr(j) (
System.out.println(arr(MIN) + " is greater than " + arr(j) );
MIN=j;
)
)
//Swap the smallest element with element in MIN position
int temp=arr(i);
arr(i)=arr(MIN);
arr(MIN)=temp;
)
)
public static void main(String() args) (
int() arr= (15, 21, 6, 3, 19, 20); // input array
System.out.println("Elements in the array before Sorting: "+ Arrays. toString (arr));
selsort (arr);//calling the selection sort method
System.out.println("Elements in the array after Sorting: "+Arrays. toString (arr));
)
)
import java.util.*;
public class SelSortExample (
//Method that implements Selectionsort
public static void selsort(int() arr)
(
int n=arr.length; //length of the array
for(int i=0;i (
int MIN=i; //set the first position as minimum
System.out.println("Sorting based on Number "+(i+1));
//Find the smallest element by comparing with the element in MIN position
for(int j=i+1;j (
System.out.println("Comparing "+ arr(MIN) + " and " + arr(j));
if(arr(j) (
System.out.println(arr(MIN) + " is greater than " + arr(j) );
MIN=j;
)
)
//Swap the smallest element with element in MIN position
int temp=arr(i);
arr(i)=arr(MIN);
arr(MIN)=temp;
)
)
public static void main(String() args) (
int() arr= (15, 21, 6, 3, 19, 20); // input array
System.out.println("Elements in the array before Sorting: "+ Arrays. toString (arr));
selsort (arr);//calling the selection sort method
System.out.println("Elements in the array after Sorting: "+Arrays. toString (arr));
)
)
import java.util.*;
public class SelSortExample (
//Method that implements Selectionsort
public static void selsort(int() arr)
(
int n=arr.length; //length of the array
for(int i=0;i (
int MIN=i; //set the first position as minimum
System.out.println("Sorting based on Number "+(i+1));
//Find the smallest element by comparing with the element in MIN position
for(int j=i+1;j (
System.out.println("Comparing "+ arr(MIN) + " and " + arr(j));
if(arr(j) (
System.out.println(arr(MIN) + " is greater than " + arr(j) );
MIN=j;
)
)
//Swap the smallest element with element in MIN position
int temp=arr(i);
arr(i)=arr(MIN);
arr(MIN)=temp;
)
)
public static void main(String() args) (
int() arr= (15, 21, 6, 3, 19, 20); // input array
System.out.println("Elements in the array before Sorting: "+ Arrays. toString (arr));
selsort (arr);//calling the selection sort method
System.out.println("Elements in the array after Sorting: "+Arrays. toString (arr));
)
)
import java.util.*;
public class SelSortExample (
//Method that implements Selectionsort
public static void selsort(int() arr)
(
int n=arr.length; //length of the array
for(int i=0;i (
int MIN=i; //set the first position as minimum
System.out.println("Sorting based on Number "+(i+1));
//Find the smallest element by comparing with the element in MIN position
for(int j=i+1;j (
System.out.println("Comparing "+ arr(MIN) + " and " + arr(j));
if(arr(j) (
System.out.println(arr(MIN) + " is greater than " + arr(j) );
MIN=j;
)
)
//Swap the smallest element with element in MIN position
int temp=arr(i);
arr(i)=arr(MIN);
arr(MIN)=temp;
)
)
public static void main(String() args) (
int() arr= (15, 21, 6, 3, 19, 20); // input array
System.out.println("Elements in the array before Sorting: "+ Arrays. toString (arr));
selsort (arr);//calling the selection sort method
System.out.println("Elements in the array after Sorting: "+Arrays. toString (arr));
)
)

Vzorčni izhod:

V zgornjem programu imamo dve metodi - glavni metodi in način razvrščanja. Glavna metoda imenuje metodo razvrstitve prodaje kot argument vhodne matrike. Najmanjši element bo identificiran in zamenjan z elementom, ki ga je nakazal MIN.

Izbirna vrsta se lahko uporablja tudi, kadar vhodni niz ni definiran v kodi. Poglejmo, kako deluje s spodnjim programom.

Program Java za razvrščanje elementov z izbiro sortiranja

import java.util.*;
public class SelectionSortExample
(
public static void main(String args())
(
int n, i, j, tempvar;
Scanner sc = new Scanner(System.in); //To take the input from user
System.out.print("Enter the size of array : \n");
n = sc.nextInt();
int array() = new int(n); //initialising the array
System.out.print("Enter the elements that need to be inserted in the array : \n");
//inserting the elements to the array
for(i=0; i (
array(i) = sc.nextInt();
)
System.out.print("array before Sorting: \n"+ Arrays.toString(array));
System.out.print("\nSorting begins here..\n");
for(i=0; i (
for(j=i+1; j (
if(array(i) > array(j))
(
tempvar = array(i);
array(i) = array(j);
array(j) = tempvar;
)
)
)
System.out.print("Array after Sorting is :\n");
for(i=0; i (
System.out.print(array(i)+ " ");
)
)
)
import java.util.*;
public class SelectionSortExample
(
public static void main(String args())
(
int n, i, j, tempvar;
Scanner sc = new Scanner(System.in); //To take the input from user
System.out.print("Enter the size of array : \n");
n = sc.nextInt();
int array() = new int(n); //initialising the array
System.out.print("Enter the elements that need to be inserted in the array : \n");
//inserting the elements to the array
for(i=0; i (
array(i) = sc.nextInt();
)
System.out.print("array before Sorting: \n"+ Arrays.toString(array));
System.out.print("\nSorting begins here..\n");
for(i=0; i (
for(j=i+1; j (
if(array(i) > array(j))
(
tempvar = array(i);
array(i) = array(j);
array(j) = tempvar;
)
)
)
System.out.print("Array after Sorting is :\n");
for(i=0; i (
System.out.print(array(i)+ " ");
)
)
)
import java.util.*;
public class SelectionSortExample
(
public static void main(String args())
(
int n, i, j, tempvar;
Scanner sc = new Scanner(System.in); //To take the input from user
System.out.print("Enter the size of array : \n");
n = sc.nextInt();
int array() = new int(n); //initialising the array
System.out.print("Enter the elements that need to be inserted in the array : \n");
//inserting the elements to the array
for(i=0; i (
array(i) = sc.nextInt();
)
System.out.print("array before Sorting: \n"+ Arrays.toString(array));
System.out.print("\nSorting begins here..\n");
for(i=0; i (
for(j=i+1; j (
if(array(i) > array(j))
(
tempvar = array(i);
array(i) = array(j);
array(j) = tempvar;
)
)
)
System.out.print("Array after Sorting is :\n");
for(i=0; i (
System.out.print(array(i)+ " ");
)
)
)
import java.util.*;
public class SelectionSortExample
(
public static void main(String args())
(
int n, i, j, tempvar;
Scanner sc = new Scanner(System.in); //To take the input from user
System.out.print("Enter the size of array : \n");
n = sc.nextInt();
int array() = new int(n); //initialising the array
System.out.print("Enter the elements that need to be inserted in the array : \n");
//inserting the elements to the array
for(i=0; i (
array(i) = sc.nextInt();
)
System.out.print("array before Sorting: \n"+ Arrays.toString(array));
System.out.print("\nSorting begins here..\n");
for(i=0; i (
for(j=i+1; j (
if(array(i) > array(j))
(
tempvar = array(i);
array(i) = array(j);
array(j) = tempvar;
)
)
)
System.out.print("Array after Sorting is :\n");
for(i=0; i (
System.out.print(array(i)+ " ");
)
)
)
import java.util.*;
public class SelectionSortExample
(
public static void main(String args())
(
int n, i, j, tempvar;
Scanner sc = new Scanner(System.in); //To take the input from user
System.out.print("Enter the size of array : \n");
n = sc.nextInt();
int array() = new int(n); //initialising the array
System.out.print("Enter the elements that need to be inserted in the array : \n");
//inserting the elements to the array
for(i=0; i (
array(i) = sc.nextInt();
)
System.out.print("array before Sorting: \n"+ Arrays.toString(array));
System.out.print("\nSorting begins here..\n");
for(i=0; i (
for(j=i+1; j (
if(array(i) > array(j))
(
tempvar = array(i);
array(i) = array(j);
array(j) = tempvar;
)
)
)
System.out.print("Array after Sorting is :\n");
for(i=0; i (
System.out.print(array(i)+ " ");
)
)
)

Vzorčni izhod:

Tu se vhodni elementi, ki jih poda uporabnik, primerjajo z začasno spremenljivko in zamenjajo. Postopek se bo ponavljal, dokler se ne oblikuje razvrščen niz.

Učinkovitost izbire

Ta tehnika sortiranja se uporablja zaradi svoje enostavnosti in nekaterih drugih prednosti delovanja v primerjavi z drugimi bolj sortirnimi tehnikami.

Zaključek

Izbirna vrsta ne deluje učinkovito na velikih seznamih, saj porabi več časa za primerjavo. Izbirna razvrstitev je metoda, pri kateri bo vhodni niz razdeljen na dve poddrugi, da se lahko razvrstijo in razvrstijo elementi. Najmanjši element v matriki bo zamenjan z elementom v prvem položaju in postopek se nadaljuje, dokler se ne oblikuje razvrščen niz.

Priporočeni članki

To je vodnik za izbiro Razvrščanje v Javi. Tukaj razpravljamo o uvedbi, delu in uspešnosti izbire Razvrstite skupaj z nekaterimi primeri. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Združi sortiranje v Javi
  2. Razvrsti po Javi
  3. Kopiraj konstruktor v Javi
  4. Zvezdni vzorci na Javi
  5. Razvrstite v Python

Kategorija: