logo

Java의 선택 정렬

선택 정렬을 사용하여 배열 요소를 정렬하는 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 

시간 복잡도

최상의: ?(n^2)
평균: ?(n^2)
최악의: 오(n^2)

공간 복잡도

오(1)

선택 정렬 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&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>

Java의 선택 정렬(다른 방법)

배열이 미리 정의되지 않은 방법을 사용할 수도 있습니다. 여기서 사용자는 요소를 입력으로 넣어야 합니다.

다음 Java 프로그램에서는 사용자에게 배열 요소 또는 숫자를 입력하도록 요청하고 이제 배열 요소를 비교하고 변수 temp와 교체를 시작합니다. temp에 첫 번째 요소를 넣고 첫 번째 요소에 두 번째 요소를 넣은 다음 두 번째 숫자에 temp를 넣고 다음 일치 항목을 계속하여 전체 배열을 오름차순으로 정렬합니다.

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