Selection Sort ( 선택정렬 )
방법 :
배열의 최솟값을 찾는다.
찾은 최솟값과 n 번째를 교환한다. (n=0부터 반복, n++)
#include <stdio.h>
void swap(int * a, int * b);
void main () {
int arr[8] = {9, 1, 6, 8, 4, 3, 2, 0};
int i, a;
int min = 10000; // 최솟값을 위한
int index = 0;
int tmp;
for (i=0; i<8; i++) // 배열 출력
printf("%d ", arr[i]);
for (i=0; i<8; i++) {
for (a=i; a<8; a++) {
if (min > arr[a]) {
index = a;
min = arr[a];
}
}
swap(&arr[i], &arr[index]);
min = 10000;
}
printf("\n");
for (i=0; i<8; i++) // 정렬 후 배열 출력
printf("%d ", arr[i]);
}
void swap(int * a, int * b) {
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
Selection Sort'Programming > C' 카테고리의 다른 글
| VSCode mac C++ 디버깅 (0) | 2019.08.19 |
|---|---|
| 단어 수 세기 프로그램 (1) | 2014.11.12 |
| scanf %s로 공백까지 입력받는 방법 (0) | 2014.11.03 |
| 동적할당 (Dynamic allocation) (0) | 2014.09.25 |
| 메모리 구조 (0) | 2014.09.25 |