Introduksjon om utvalgssortering i Java

Seleksjonssortering i Java er en sorteringsmetode som kontinuerlig finner det minste elementet i den usorterte delen og holder det i begynnelsen (for sortering i stigende rekkefølge). Prosessen vil bli gjentatt til innmatingsmatrisen er sortert. I Selection Sort deler vi også inngangsarrayen i to delområder der en gruppe brukes til sorterte elementer, og en annen gruppe er for usorterte elementer. I begynnelsen vil det ikke være noen elementer i den sorterte undergruppen. La oss se detaljering av utvalget i det følgende avsnitt.

Hvordan valg av sortering fungerer i Java

Valgssortering fungerer på en enkel måte der den holder to undergrunner fra innmatingsmatrisen. De er:

  • Sortert undergruppe for å beholde de sorterte elementene
  • Usortert delgruppe for å beholde de usorterte elementene.

algoritme:

Følgende er algoritmen som brukes for utvalgssortering

  1. Sett minimum (MIN) -pekeren til sted 0.
  2. Finn det minste elementet fra listen over elementer i matrisen
  • Bytt minimumselementet med stedet 0
  1. Flytt MIN-pekeren til neste posisjon
  2. Gjenta prosessen til innmatingsmatrisen er sortert.

La oss forstå utvalget med et eksempel. Følgende er innmatingsmatrisen som må sorteres. Elementene i fet blå farge vil være som en del av den sorterte matrisen.

Trinn 1 : Still MIN-pekeren til det første stedet. Så, MIN-pekeren peker til 15.

Minste: = 15

Trinn 2 : Finn det minste elementet ved å sammenligne det med resten av elementene. Å sammenligne 15 og 21, 15 er den minste. Så de minste vil ikke endre seg i dette tilfellet.

Minste: = 15

Å sammenligne 15 og 6, 6 er den minste.

Minste: = 6

Å sammenligne 6 og 3, 3 er den minste.

Minste: = 3

3 vil også være mindre i dette tilfellet, da 19 er større enn 3.

Minste: = 3

Minste: = 3

Til slutt, i denne iterasjonen, er 3 funnet å være den minste.

Trinn 3 : Bytt det minste elementet med elementet på plassering 0.

Trinn 4: Øk MIN-pekeren til neste posisjon.

Trinn 5: Finn det neste minste elementet ved å sammenligne det med resten av elementene.

Minste: = 21

Minste: = 6

Minste: = 6

Minste: = 6

Minste: = 6

Trinn 6: Bytt det minste elementet med elementet på plassering 1.

Gjenta prosessen til det blir dannet en sortert matrise som vist nedenfor.

Eksempler på implementeringsvalg i Java

Som allerede nevnt ovenfor, er valgssortering basert på å finne minimum og bytte. La oss nå se hvordan du implementerer utvalgssorteringen ved hjelp av Java.

Java-program for å sortere elementene i en matrise ved å bruke valgssortering

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));
)
)

Eksempelutgang:

I programmet over har vi to metoder-hovedmetoder og selger sorteringsmetode. Hovedmetode kaller selgsorteringsmetoden som passerer inngangsgruppen som argument. Minimumselementet blir identifisert og byttet med elementet som er pekt av MIN.

Valgssorten kan også brukes der innmatingsmatrisen ikke er definert i kode. La oss se hvordan det fungerer ved å bruke programmet nedenfor.

Java-program for å sortere elementene ved hjelp av valgssortering

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)+ " ");
)
)
)

Eksempelutgang:

Her blir inngangselementene gitt av brukeren sammenlignet med den midlertidige variabelen og byttet. Prosessen vil bli gjentatt til det blir dannet en sortert matrise.

Utførelse av utvalgssortering

Denne sorteringsteknikken brukes for sin enkelhet og visse andre ytelsesfordeler fremfor andre mer sorteringsteknikker.

Konklusjon

Utvalgsorten fungerer ikke effektivt på store lister ettersom den bruker mer tid for sammenligning. Seleksjonssortering er en metode der en inputmatrise blir delt inn i to delområder for å holde dem sorterte og usorterte elementer. Minimumselementet i matrisen blir byttet med elementet i den første posisjonen og prosessen fortsetter til det blir dannet en sortert matrise.

Anbefalte artikler

Dette er en guide til valg av sortering i Java. Her diskuterer vi introduksjon, arbeid og utførelse av utvalgssortering sammen med noen eksempler. Du kan også se på følgende artikler for å lære mer -

  1. Merge Sort i Java
  2. Heap Sort In Java
  3. Kopier konstruktør i Java
  4. Stjernemønstre i Java
  5. Heap Sort in Python

Kategori: