Увод о избору сортирања на Јави

Избор сортирања у Јави је метода сортирања која непрекидно проналази најмањи елемент у несортираном делу и задржава га на почетку (за сортирање узлазним редоследом). Процес ће се понављати све док се не сортира улазни низ. Такође ћемо, у Селецтион Сорт, подијелити улазни низ на два подрасла, гдје се један низ користи за сортиране елементе, а други низ за несортиране елементе. У почетку неће бити никаквих елемената у сортираном подмарку. Да видимо детаље о раду селекције у наредном одељку.

Како ради сортирање селекције у Јави

Селекција сортирања функционише на једноставан начин гдје чува два подрасла од улазног низа. Су:

  • Сортирани подврста за одржавање сортираних елемената
  • Норторисана подврста да би се задржали несортирани елементи.

Алгоритам:

Следи алгоритам који се користи за сортирање селекције

  1. Подесите минимални (МИН) показивач на локацију 0.
  2. Пронађите најмањи елемент са листе елемената у низу
  • Замените минимални елемент с локацијом 0
  1. Померите показивач МИН на следећу позицију
  2. Понављајте поступак све док се не сортира улазни низ.

Да разумемо врсту селекције на примеру. Слиједи улазни низ који се мора сортирати. Елементи у Болд Блуе боји бит ће дио разврстаног низа.

Корак 1 : Поставите МИН показивач на прво место. Дакле, показивач МИН показује на 15.

Најмањи: = 15

Корак 2 : Пронађите најмањи елемент упоређујући га са осталим елементима. Упоређивање 15 и 21, 15 је најмање. Дакле, ни најмањи се неће променити у овом случају.

Најмањи: = 15

Упоређивање 15 и 6, 6 је најмање.

Најмањи: = 6

Упоређивање 6 и 3, 3 је најмање.

Најмањи: = 3

3 ће такође бити мања у овом случају, јер је 19 већа од 3.

Најмањи: = 3

Најмањи: = 3

Коначно, у овој итерацији је 3 најмања.

Корак 3 : Замените најмањи елемент елементом на локацији 0.

Корак 4: Повећајте МИН показивач на следећу позицију.

Корак 5: Пронађите следећи најмањи елемент упоређујући га са осталим елементима.

Најмањи: = 21

Најмањи: = 6

Најмањи: = 6

Најмањи: = 6

Најмањи: = 6

Корак 6: Замените најмањи елемент елементом у локацији 1.

Понављајте поступак док се не формира сортирани низ као што је приказано у наставку.

Примјери за имплементацију Сорт Селецтион у Јави

Као што је већ горе поменуто, сортирање се заснива на проналажењу минимума и замени. Сада, да видимо како имплементирати селекциону врсту користећи Јава.

Јава програм за сортирање елемената у низу помоћу Сорт Селецтион

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

Узорак излаза:

У горњем програму имамо две главне методе и метод сортирања. Главни метод назива методу сортирања продаје пролазећи уносни низ као аргумент. Минимални елемент ће бити идентификован и замењен елементом означеним са МИН.

Одабир сортирања се може користити и тамо гдје улазни низ није дефиниран у коду. Погледајмо како то функционише помоћу програма у наставку.

Јава програм за сортирање елемената помоћу Сорт Сорт

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

Узорак излаза:

Овде ће се улазни елементи које даје корисник упоређивати са привременом променљивом и заменити. Процес ће се понављати све док се не формира сортирани низ.

Извођење сортирања избора

Ова техника сортирања се користи због своје једноставности и одређених других предности у односу на остале технике сортирања.

Закључак

Избор селекције не делује ефикасно на великим листама јер захтева више времена за поређење. Селецтион сорт је метода у којој ће се улазни низ подијелити у два подрасла како би се задржали сортирани и несортирани елементи. Минимални елемент у низу биће замењен елементом на првој позицији и процес се наставља све док се не формира сортирани низ.

Препоручени чланци

Ово је водич за селекцију Сорт ин Јава. Овде смо расправљали о увођењу, раду и извођењу сортирања селекције заједно са неким примерима. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Спајање сортирања у Јави
  2. Хеап Сорт ин Јава
  3. Копирај конструктор у Јава
  4. Стар Паттернс на Јави
  5. Хеап Сорт ин Питхон

Категорија: