logo

Utvalg Sorter i Java

Vi kan lage et java-program for å sortere array-elementer ved å bruke utvalgssortering. I utvalgssorteringsalgoritmen søker vi etter det laveste elementet og ordner det til riktig plassering. Vi bytter det gjeldende elementet med det nest laveste tallet.

utvalg sortering

Hvordan fungerer utvalgssortering?

Valgsorteringsalgoritmen fungerer på en veldig enkel måte. Den opprettholder to undermatriser for den gitte matrisen.

java datastrukturer
  • Undermatrisen er allerede sortert.
  • Og den andre undergruppen er usortert.

Med hver iterasjon av utvalgssortering, plukkes et element fra den usorterte undergruppen og flyttes til den sorterte undergruppen.

streng java indexof
 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

Beste: ?(n^2)
Gjennomsnitt: ?(n^2)
Verst: O(n^2)

Plass kompleksitet

O(1)

Utvalg 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>

Utvalg Sorter i Java (en annen måte)

Du kan også bruke en metode der array ikke er forhåndsdefinert. Her må brukeren legge inn elementene som input.

I det følgende Java-programmet ber vi brukeren om å angi array-elementene eller nummeret, sammenligne nå arrayens element og begynne å bytte med variabelen temp. Sett det første elementet i temp og det andre elementet i det første, og deretter temp i det andre tallet og fortsett til neste match for å sortere hele matrisen i stigende rekkefø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;>