본문 바로가기

Programming/C & C++

[C/C++] Bubble Sort (버블 정렬)

#include <stdio.h> 
 
void b_sort(int data[], int size) 
{ 
    int tmp = 0; 
    int i, j; 
    int comparison = 0; 
    int swap = 0; 
 
    for (i = 0; i < size-1; i++) 
    { 
        for (j = 0; j < (size-1); j++) 
        { 
            comparison++; 
            if (data[j] > data[j+1]) 
            { 
                tmp = data[j+1]; 
                data[j+1] = data[j]; 
                data[j] = tmp; 
                swap++; 
            } 
        } 
    } 
    printf("Comparisons %d\n", comparison); 
    printf("Swap        %d\n", swap); 
} 
 
위의 코드는 버블소트 알고리즘을 그대로 표현해주고 있으며 O(n^2)의 시간복잡도를 보여준
반응형