Programming/C

Selection Sort

범고래_1 2014. 10. 23. 19:59
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