Application/기초

[기초] C++ 알고리즘 : 버블 정렬 (Bubble Sort)

devsalix 2024. 5. 4. 08:33
728x90

 

인접한 두 원소를 비교하며 정렬해 나가는 방식입니다.

간단하나 비효율적인 경우가 많습니다.

시간 복잡도는 O(n^2)입니다.

 


 

 

아래 코드는 버블 정렬을 사용하여 정수 배열을 정렬합니다.

먼저 정렬 전과 후의 배열을 출력하고, 'bubbleSort' 함수를 사용하여 배열을 정렬합니다.

결과적으로 정렬된 배열을 출력합니다.

 

#include <iostream>

void printArray(int arr[], int size) {
    for (int i = 0; i < size; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
}

void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                // 두 원소의 위치를 바꿈
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr)/sizeof(arr[0]);
    std::cout << "정렬 전 배열: ";
    printArray(arr, n);

    bubbleSort(arr, n);

    std::cout << "정렬 후 배열: ";
    printArray(arr, n);

    return 0;
}

 

 

이 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

 

정렬 전 배열: 64 34 25 12 22 11 90 
정렬 후 배열: 11 12 22 25 34 64 90

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90
반응형