선택 정렬이란 주어진 배열에서 최솟값을 찾고 배열의 맨 앞에 위치한 값과 교체한 후 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체해 나가는 방식이다.
정렬 과정을 보면 다음과 같다.
▼선택 정렬 코드
import java.io.*;
import java.util.*;
public class Main {
public static void SelectionSort(int arr[], int n)
{
int index=0;
int min=0;
int j,i;
for(i=0;i<n;i++)
{
index=i;
min = arr[i];
for(j=i+1;j<n;j++)
{
if(min>arr[j])
{
min=arr[j];
index=j;
}
}
arr[index]=arr[i];
arr[i]=min;
}
}
public static void main(String[] args){
int arr[] = {5, 2, 6, 3, 1, 4};
SelectionSort(arr,6);
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
}
결과
1 2 3 4 5 6
'CS > 자료구조' 카테고리의 다른 글
자료 구조 - 버블, 선택, 삽입 정렬의 시간복잡도 (0) | 2024.01.23 |
---|---|
자료구조 - 삽입 정렬 (1) | 2024.01.23 |
자료구조 - 버블 정렬 (1) | 2024.01.22 |
자료구조 - 우선순위 큐 (0) | 2024.01.22 |
자료구조 - 트리 순회(전위/중위/후위) (0) | 2024.01.22 |