맨 앞부터 최솟값 배치하는 정렬 ⇒ 앞에서 부터 정렬
pseudocode
순차정렬(base : 배열시작주소 , n : 배열요소 개수)
반복(i : 0 -> n)
반복(j : **i + 1** -> n)
조건(base[i] > base[j])
교환(base[i],base[j])
best case 시간복잡도 :
worst case 시간복잡도 :
안정성 : 불안정
실제코드
#include <stdio.h>
int main(int argc, const char * argv[]) {
int i,j;
int arr[20] = {
3,5,2,2,4,
6,1,3,7,8,
2,11,2,21,20,
12,14,1,6,16};
int count = 0;
int n = sizeof(arr)/sizeof(int);
for (i = 0 ; i < n ; i++){
for(j = i + 1 ; j < n ; j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
count++;
}
}
}
for (int k = 0 ; k < n ; k++){
printf("%d ",arr[k]);
}
printf("\nn^%d",count/n);
return 0;
}