가장 작은 것을 선택해서 앞으로 보냄
int i, j, min, temp;
int index = 0;
int array[] = {1,10,5,8,7,6,4,3,2,9};
for(i = 0; i<array.length; 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;
}
배열의 길이가 10일 경우
10 + 9 + 8 + ... + 1
N*(N+1)/2 -> O(N^2)
즉 만개의 데이터라면 대략 1억번의 연산을 한다.
구현이 간단하나 비효율적인 알고리즘이라 할 수 있다.