Wir können ein Java-Programm erstellen, um Array-Elemente mithilfe der Auswahlsortierung zu sortieren. Beim Auswahlsortierungsalgorithmus suchen wir nach dem niedrigsten Element und ordnen es an der richtigen Stelle an. Wir tauschen das aktuelle Element mit der nächstniedrigeren Zahl aus.
Wie funktioniert die Auswahlsortierung?
Der Auswahlsortierungsalgorithmus funktioniert auf sehr einfache Weise. Es verwaltet zwei Unterarrays für das angegebene Array.
String-Methoden Java
- Das Subarray ist bereits sortiert.
- Und das zweite Unterarray ist unsortiert.
Bei jeder Iteration der Auswahlsortierung wird ein Element aus dem unsortierten Subarray ausgewählt und in das sortierte Subarray verschoben.
So finden Sie versteckte Apps auf Android
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
Zeitkomplexität
Am besten: ?(n^2)Durchschnitt: ?(n^2)
Am schlimmsten: O(n^2)
Weltraumkomplexität
O(1)Java-Beispiel für Auswahlsortierung
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>
Auswahlsortierung in Java (andere Möglichkeit)
Sie können auch eine Methode verwenden, bei der das Array nicht vordefiniert ist. Hier muss der Benutzer die Elemente als Eingabe eingeben.
Im folgenden Java-Programm bitten wir den Benutzer, die Array-Elemente oder die Anzahl einzugeben, vergleichen nun das Array-Element und beginnen mit dem Austausch mit der Variablen temp. Fügen Sie das erste Element in „temp“ und das zweite Element in das erste ein, und dann „temp“ in die zweite Zahl und fahren Sie mit der nächsten Übereinstimmung fort, um das gesamte Array in aufsteigender Reihenfolge zu sortieren.
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;>