logo

Valg Sortér i Java

Vi kan oprette et java-program til at sortere array-elementer ved hjælp af udvælgelsessortering. I udvælgelsessorteringsalgoritmen søger vi efter det laveste element og arrangerer det til den rigtige placering. Vi bytter det aktuelle element med det næstlaveste tal.

udvælgelsessortering

Hvordan fungerer udvælgelsessortering?

Valgsorteringsalgoritmen fungerer på en meget enkel måde. Den opretholder to underarrays for det givne array.

sammenlægning sortering
  • Underarrayet er allerede sorteret.
  • Og den anden underarray er usorteret.

Ved hver iteration af udvælgelsessortering plukkes et element fra den usorterede underarray og flyttes til den sorterede undergruppe.

reaktionstabel
 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 

Tidskompleksitet

Bedst: ?(n^2)
Gennemsnit: ?(n^2)
Værst: O(n^2)

Rumkompleksitet

O(1)

Valg Sort Java Eksempel

 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&apos;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(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); 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>

Valg Sortér i Java (på en anden måde)

Du kan også bruge en metode, hvor array ikke er foruddefineret. Her skal brugeren sætte elementerne som input.

I det følgende Java-program beder vi brugeren om at indtaste array-elementerne eller nummeret, sammenligne nu arrayets element og begynde at bytte med den variable temp. Sæt det første element i tempen og det andet element i det første, og derefter temp i det andet tal og fortsæt til næste match for at sortere hele arrayet i stigende rækkefølge.

 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(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); 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;>