Introduktion til valg af sortering i Java

Valgsortering i Java er en sorteringsmetode, der konstant finder det mindste element i den usorterede del og holder det i begyndelsen (til sortering i stigende rækkefølge). Processen gentages, indtil inputgruppen er sorteret. I markeringssorter vil vi også dele inputmatrixen i to undergrupper, hvor den ene matrix bruges til sorterede elementer, og den anden matrix er for usorterede elementer. I begyndelsen er der ingen elementer i den sorterede undergruppe. Lad os se udførelsen af ​​udvælgelsessorterne detaljeret i det følgende afsnit.

Sådan fungerer valgssortering i Java

Valgsorter fungerer på en enkel måde, hvor den holder to undergrupper fra inputmatrixen. De er:

  • Sorteret undergruppe for at bevare de sorterede elementer
  • Usorteret undergruppe for at bevare de usorterede elementer.

Algoritme:

Følgende er den algoritme, der bruges til valg af sortering

  1. Indstil minimum (MIN) markøren til placering 0.
  2. Find det mindste element fra listen over elementer i matrixen
  • Skift minimumselementet med placeringen 0
  1. Flyt MIN-markøren til næste position
  2. Gentag processen, indtil inputgruppen er sorteret.

Lad os forstå udvælgelsessorten med et eksempel. Følgende er det input array, der skal sorteres. Elementerne i fed blå farve vil være som en del af den sorterede matrix.

Trin 1 : Indstil MIN-markøren til den første placering. Så MIN-markøren peger på 15.

Mindste: = 15

Trin 2 : Find det mindste element ved at sammenligne det med resten af ​​elementerne. Sammenligning af 15 og 21, 15 er den mindste. Så den mindste ændres ikke i dette tilfælde.

Mindste: = 15

Sammenligning af 15 og 6, 6 er den mindste.

Mindste: = 6

Sammenligning af 6 og 3, 3 er den mindste.

Mindste: = 3

3 vil også være mindre i dette tilfælde, da 19 er større end 3.

Mindste: = 3

Mindste: = 3

Endelig er 3 i denne iteration fundet at være den mindste.

Trin 3 : Skift det mindste element med elementet i placering 0.

Trin 4: Øg MIN-markøren til den næste position.

Trin 5: Find det næste mindste element ved at sammenligne det med resten af ​​elementerne.

Mindste: = 21

Mindste: = 6

Mindste: = 6

Mindste: = 6

Mindste: = 6

Trin 6: Byt det mindste element med elementet i placering 1.

Gentag processen, indtil der er dannet en sorteret matrix som vist nedenfor.

Eksempler på implementeringssortering i Java

Som allerede nævnt ovenfor er udvælgelsessort baseret på at finde minimum og bytte. Lad os nu se, hvordan vi implementerer markeringen med Java.

Java-program til sortering af elementerne i en matrix ved hjælp af markeringssortering

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

Prøveudgang:

I ovenstående program har vi to metoder-hovedmetoder og sælger sorteringsmetode. Hovedmetode kalder metoden for salgssortering, der passerer inputgruppen som argument. Minimumselementet identificeres og byttes med det element, der er peget af MIN.

Valgsorten kan også bruges, hvor input-arrayet ikke er defineret i kode. Lad os se, hvordan det fungerer ved hjælp af nedenstående program.

Java-program til sortering af elementerne ved hjælp af markeringssortering

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

Prøveudgang:

Her sammenlignes inputelementerne, der er givet af brugeren, med den midlertidige variabel og byttes. Processen gentages, indtil der er dannet en sorteret matrix.

Udførelse af markeringssortering

Denne sorteringsteknik bruges på grund af dens enkelhed og visse andre ydelsesfordele frem for andre mere sorteringsteknikker.

Konklusion

Valgsorten fungerer ikke effektivt på store lister, da den bruger mere tid til sammenligning. Valgsortering er en metode, hvor en inputgruppe bliver opdelt i to undergrupper for at holde dem sorterede og usorterede elementer. Minimumselementet i arrayet udskiftes med elementet i den første position, og processen fortsætter, indtil der er dannet en sorteret matrix.

Anbefalede artikler

Dette er en guide til valg af sortering i Java. Her diskuterer vi introduktion, arbejde og udførelse af markering med nogle eksempler. Du kan også se på de følgende artikler for at lære mere -

  1. Flet sortering i Java
  2. Heap sortering i Java
  3. Kopier konstruktør i Java
  4. Stjernemønstre i Java
  5. Heap Sort i Python

Kategori: