선택 정렬
: 각 루프마다 최대 원소를 찾고, 최대 원소와 맨 오른쪽 원소를 교환 -> 맨 오른쪽 원소를 제외한다.
하나의 원소만 남을 때까지 위의 루프를 반복.
void selectionSort(int A[], int n) {
int big; // 최댓값 인덱스
int temp;
for (int i = n - 1; i > 0; i--) {
big = i;
for (int j = 1; j <= i; j++) {
if (A[j] > A[big]) {
big = j;
}
}
temp = A[i];
A[i] = A[big];
A[big] = temp;
}
for (int i = 0; i < n; i++) {
printf("%d ", A[i]);
}
}
'Algorithm' 카테고리의 다른 글
[알고리즘] 퀵 정렬 (1) | 2024.01.10 |
---|---|
[알고리즘] 병합 정렬 (1) | 2024.01.05 |
[알고리즘] 삽입 정렬 (1) | 2024.01.04 |
[알고리즘] 버블 정렬 (1) | 2024.01.03 |