본문 바로가기

프로그램/C언어

【C언어】 버블정렬 기본코드 예시

C언어 기초 중, 버블정렬하는 기본 코드 예시입니다. 간단한 설명은 코드 옆에 주석처리되어 있습니다.




#include <stdio.h>
void swap(int *, int*);
void printArray(int[], int);
void bubbleSort(int[], int);
void main() {
        int array[5] = {5,3,8,1,2};                  // 초기값 배열 정의
        bubbleSort(array, 5);                        // 버블정렬 함수
}
void swap(int* num1, int* num2) {            // 서로 교환해주는 함수
        int temp;
        temp = *num2;
        *num2 = *num1;
        *num1 = temp;
}
void printArray(int array[], int size) {     // 배열을 화면에 출력하는 함수
        int i;
        printf("\n");
        for (i=0;i<size; i++)
               printf("%d ", array[i]);
        printf("\n");
}
void bubbleSort(int arr[], int size) {               // 버블정렬하는 함수
        int i, j;
        for(j=0 ; j < size-1 ; j++) {
               printArray(arr, size);                       // 배열을 화면에 출력하는 함수
               for(i=0 ; i < size-j-1 ; i++) {
                       if (arr[i] > arr[i+1]) {
                              swap(&arr[i], &arr[i+1]);     // 서로 교환해주는 함수
                       }
               }
        }
        printf("\n");

}