Introductie op selectie sorteren in Java

Selectie Sorteren in Java is een sorteermethode die voortdurend het kleinste element in het ongesorteerde deel vindt en dit in het begin bewaart (voor het sorteren in oplopende volgorde). Het proces wordt herhaald totdat de invoerarray is gesorteerd. Ook zullen we in Selectie sorteren de invoerarray onderverdelen in twee subreeksen waar een array wordt gebruikt voor gesorteerde elementen en een andere array voor ongesorteerde elementen. In het begin zullen er geen elementen in de gesorteerde subarray zijn. Laten we de werking van de selectiesoort in detail bekijken in de volgende sectie.

Hoe Selection Sort werkt in Java

Selectie sorteren werkt op een eenvoudige manier waarbij het twee subreeksen van de invoerarray houdt. Zij zijn:

  • Gesorteerde subarray om de gesorteerde elementen te behouden
  • Niet-gesorteerde subarray om de niet-gesorteerde elementen te behouden.

Algoritme:

Hieronder volgt het algoritme dat wordt gebruikt voor Selectie sorteren

  1. Stel de minimum (MIN) wijzer in op locatie 0.
  2. Zoek het kleinste element uit de lijst met elementen in de array
  • Ruil het minimumelement met de locatie 0
  1. Verplaats de MIN-wijzer naar de volgende positie
  2. Herhaal het proces totdat de invoerarray is gesorteerd.

Laten we de selectie sorteren met een voorbeeld. Hierna volgt de invoerarray die moet worden gesorteerd. De elementen in vetgedrukte kleur maken deel uit van de gesorteerde array.

Stap 1 : Stel de MIN-wijzer in op de eerste locatie. Dus de MIN-aanwijzer wijst naar 15.

Kleinste: = 15

Stap 2 : Vind het kleinste element door het te vergelijken met de rest van de elementen. Vergelijking van 15 en 21, 15 is de kleinste. Dus de kleinste zal in dit geval niet veranderen.

Kleinste: = 15

Vergelijking van 15 en 6, 6 is het kleinst.

Kleinste: = 6

Het vergelijken van 6 en 3, 3 is het kleinst.

Kleinste: = 3

3 zullen ook in dit geval kleiner zijn, omdat 19 groter is dan 3.

Kleinste: = 3

Kleinste: = 3

Ten slotte blijkt 3 in deze iteratie de kleinste te zijn.

Stap 3 : Verwissel het kleinste element met het element op locatie 0.

Stap 4: Verhoog de MIN-wijzer naar de volgende positie.

Stap 5: Vind het volgende kleinste element door het te vergelijken met de rest van de elementen.

Kleinste: = 21

Kleinste: = 6

Kleinste: = 6

Kleinste: = 6

Kleinste: = 6

Stap 6: Verwissel het kleinste element met het element op locatie 1.

Herhaal het proces totdat een gesorteerde array is gevormd zoals hieronder wordt weergegeven.

Voorbeelden om selectiesortering in Java te implementeren

Zoals hierboven al vermeld, is selectie sorteren gebaseerd op het vinden van het minimum en het omwisselen. Laten we nu eens kijken hoe we de selectie met Java kunnen implementeren.

Java-programma om de elementen in een array te sorteren met behulp van Selection Sort

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

Monster uitgang:

In het bovenstaande programma hebben we twee methoden, de belangrijkste methoden en de sorteermethode. De hoofdmethode roept de methode sell sort aan en geeft de invoerarray door als argument. Het minimale element wordt geïdentificeerd en verwisseld met het element met MIN.

De selectiesoort kan ook worden gebruikt als de invoerarray niet in code is gedefinieerd. Laten we eens kijken hoe het werkt met behulp van het onderstaande programma.

Java-programma om de elementen te sorteren met behulp van Selectie sorteren

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

Monster uitgang:

Hier worden de invoerelementen van de gebruiker vergeleken met de tijdelijke variabele en geruild. Het proces wordt herhaald totdat een gesorteerde array is gevormd.

Prestaties van selectie sorteren

Deze sorteertechniek wordt gebruikt vanwege zijn eenvoud en bepaalde andere prestatievoordelen ten opzichte van andere meer sorteertechnieken.

Conclusie

De selectie sorteert niet efficiënt op grote lijsten omdat het meer tijd kost om te vergelijken. Selectie sorteren is een methode waarbij een invoerarray wordt verdeeld in twee subreeksen om ze gesorteerde en ongesorteerde elementen te houden. Het minimale element in de array wordt verwisseld met het element in de eerste positie en het proces gaat door totdat een gesorteerde array wordt gevormd.

Aanbevolen artikelen

Dit is een gids voor Selectie sorteren op Java. Hier bespreken we de introductie, werking en prestaties van selectiesortering samen met enkele voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Sorteer samenvoegen in Java
  2. Heap Sort In Java
  3. Kopieer Constructor In Java
  4. Sterpatronen in Java
  5. Heap Sort in Python

Categorie: