#include <stdio.h>
void selSort(int a[], int n) {
int i, j;
int minx;
int temp;
for(i=0; i<n-1; ++i) {
minx = i; // i 의 위치부터 찾기 시작한다.
for(j=i+1; j<n; ++j) { // 최소값 탐색
if(a[j] < a[minx]) minx = j;
}
// 교환: 최소값과 i의 값을 서로 바꾸어 준다.
temp = a[i]; a[i] = a[minx]; a[minx] = temp;
}
}
int main(void) {
int i=0, n;
int data[100];
printf("입력할 개수를 넣으시오 ");
scanf("%d", &n);
for(i=0;i<n;++i) scanf("%d", &data[i]);
selSort(data, n);
for(i=0;i<n;++i) printf("%d ",data[i]); printf("\n");
return 0;
}
입력은 10
3 4 2 1 11 8 7 5 9 6
이라고 주어 보자.
'c·c++ > c 프로그래밍' 카테고리의 다른 글
피보나치 수열 (0) | 2012.05.11 |
---|---|
분수의 반복구간 구하기 (0) | 2012.05.11 |
세수를 크기 순으로 출력하기 (0) | 2012.05.10 |
분수의 덧셈 (0) | 2012.05.09 |
조합하여 숫자구하기 코드 질문이요! (0) | 2012.05.08 |