Putem crea un program java pentru a sorta elementele matricei folosind sortarea prin selecție. În algoritmul de sortare de selecție, căutăm cel mai de jos element și îl aranjam în locația potrivită. Schimbăm elementul curent cu următorul număr cel mai mic.
Cum funcționează sortarea de selecție?
Algoritmul de sortare prin selecție funcționează într-un mod foarte simplu. Menține două subbary pentru matricea dată.
înlănţuire înainte
- Subbarra este deja sortată.
- Iar al doilea subbary este nesortat.
Cu fiecare iterație de sortare de selecție, un element este ales din subgrupul nesortat și mutat în subgrupul sortat.
salut lumea cu java
arr[] = 25 35 45 12 65 10 // Find the minimum element in arr[0...5] and place it at beginning. 10 25 35 45 12 65 // Find the minimum element in arr[1...5] and place it at beginning of arr[1...5] 10 12 25 35 45 65 // Find the minimum element in arr[2...5] and place it at beginning of arr[2...5] No, you can see that the array is already sorted. 10 12 25 35 45 65
Complexitatea timpului
Cel mai bun: ?(n^2)In medie: ?(n^2)
Cel mai rău: O(n^2)
Complexitatea spațială
O(1)Exemplu Java de sortare de selecție
public class SelectionSortExample { public static void selectionSort(int[] arr){ for (int i = 0; i <arr.length - 1; i++) { int index="i;" for (int j="i" + < arr.length; j++){ if (arr[j] arr[index]){ lowest } smallernumber="arr[index];" arr[index]="arr[i];" arr[i]="smallerNumber;" public static void main(string a[]){ int[] arr1="{9,14,3,2,43,11,58,22};" system.out.println('before selection sort'); for(int i:arr1){ system.out.print(i+' '); system.out.println(); selectionsort(arr1); sorting array using sort system.out.println('after pre> <p>Output:</p> <pre> Before Selection Sort 9 14 3 2 43 11 58 22 After Selection Sort 2 3 9 11 14 22 43 58 </pre> <h2>Selection Sort in Java (Another way)</h2> <p>You can also use a method where array is not predefined. Here, user has to put the elements as input.</p> <p>In the following Java program, we ask user to enter the array elements or number, now compare the array's element and start swapping with the variable temp. Put the first element in the temp and the second element in the first, and then temp in the second number and continue for the next match to sort the whole array in ascending order.</p> <pre> import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print('Enter Array Size : '); size = scan.nextInt(); System.out.print('Enter Array Elements : '); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print('sorting array using selection sort technique.. '); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print('now the after sorting is : '); system.out.print(arr[i]+ ' '); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;></pre></arr.length>
Sortare selecție în Java (altfel)
De asemenea, puteți utiliza o metodă în care matricea nu este predefinită. Aici, utilizatorul trebuie să pună elementele ca intrare.
În următorul program Java, îi cerem utilizatorului să introducă elementele matricei sau numărul, acum compară elementul matricei și începe să schimbe cu variabila temp. Puneți primul element în temp și al doilea element în primul, apoi temp în al doilea număr și continuați pentru următoarea potrivire pentru a sorta întreaga matrice în ordine crescătoare.
import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print('Enter Array Size : '); size = scan.nextInt(); System.out.print('Enter Array Elements : '); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print(\'sorting array using selection sort technique.. \'); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print(\'now the after sorting is : \'); system.out.print(arr[i]+ \' \'); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;>