Possiamo creare un programma Java per ordinare gli elementi dell'array utilizzando l'ordinamento di selezione. Nell'algoritmo di ordinamento della selezione, cerchiamo l'elemento più basso e lo disponiamo nella posizione corretta. Scambiamo l'elemento corrente con il numero successivo più basso.
Come funziona l'ordinamento della selezione?
L'algoritmo di ordinamento della selezione funziona in modo molto semplice. Mantiene due sottoarray per l'array specificato.
metodi stringa java
- Il sottoarray è già ordinato.
- E il secondo sottoarray non è ordinato.
Ad ogni iterazione dell'ordinamento della selezione, un elemento viene prelevato dal sottoarray non ordinato e spostato nel sottoarray ordinato.
1 miliardo a milione
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
Complessità temporale
Migliore: ?(n^2)Media: ?(n^2)
Peggio: O(n^2)
Complessità spaziale
O(1)Selezione Ordina Esempio Java
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>
Ordinamento della selezione in Java (un altro modo)
È inoltre possibile utilizzare un metodo in cui l'array non è predefinito. Qui, l'utente deve inserire gli elementi come input.
Nel seguente programma Java, chiediamo all'utente di inserire gli elementi o il numero dell'array, ora confrontiamo l'elemento dell'array e iniziamo lo scambio con la variabile temp. Inserisci il primo elemento nel temp e il secondo elemento nel primo, quindi temp nel secondo numero e continua per la corrispondenza successiva per ordinare l'intero array in ordine crescente.
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;>