알파카징징이 알파카징징이 코딩하는 알파카

알고리즘_2_정렬의 개요와 선택 정렬

» writing

K 실전 알고리즘 강좌(Algorithm Programming Tutorial) 동빈나 님 수업을 참고하여 작성하였습니다

2_정렬의 개요와 선택 정렬

정의


정렬의 개요와 선택 정렬

1. 정렬 (Sort)
   1) 선택 정렬 (Selection Sort)
        : 가장 작은 것을 선택해서 제일 앞으로 보내는
        알고리즘

가장 작은 것을 선택해서 제일 앞으로 보내면 어떨까?

#include <stdio.h>

int main(void) {
	int i, j, min, index, temp;
	int array[10] = {1, 10, 5, 8, 7, 6, 4, 3, 2, 9};
	for (i = 0; i< 10; i ++) {
		min = 9999;
		for (j = i ; j< 10; j++){
			if (min > array[j]) {
				min = array[j];
				index = j;
			}
		}
		temp = array[i];
		array[i] = array[index];
		array[index] = temp;
	}
	for(i = 0; i< 10; i++) {
		printf("%d ", array[i]);
	}
	return 0;
}
// 1 2 3 4 5 6 7 8 9 10

선택 정렬의 시간 복잡도는 N^2