순차정렬(sequential sort)

jkweyu·2024년 11월 6일

정렬 알고리즘

목록 보기
3/12
post-thumbnail

순차정렬(sequential sort) : 순서대로 정렬


맨 앞부터 최솟값 배치하는 정렬 ⇒ 앞에서 부터 정렬

pseudocode

순차정렬(base : 배열시작주소 , n : 배열요소 개수)
	반복(i : 0 -> n)
		반복(j : **i + 1** -> n)
			조건(base[i] > base[j])
				교환(base[i],base[j])

best case 시간복잡도 : O(n2)O(n^2)

worst case 시간복잡도 : O(n2)O(n^2)

안정성 : 불안정

실제코드

#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;
}

0개의 댓글