메뉴 건너뛰기

C++ Bubble Sort(버블정렬)

김지훈 2022.07.07 16:40 조회 수 : 153

# include <iostream>

void BubbleSort(int a[], int b) {

    //a = 배열,b = 배열 크기

    for (int i = 0; i < b; i++) {

        //i가 b보다 작을 동안 i가 1씩 커지며 반복

        for (int j = 0; j < b - i - 1; j++) {

            //정렬한 범위를 축소

            if (a[j] > a[j + 1]) {

                //앞쪽 값이 더 크면

                int save = a[j];

                a[j] = a[j + 1];

                a[j + 1] = save;

                //교환

            }

        }

    }

}

 

int main(void) {

    int array[10] = { 5,7,1,2,4,3,9,8,6,0 };

 

    BubbleSort(array, 10);

    

    for (int i : array) {

        std::cout << i << " ";

    }

}

 

현 인덱스와 다음 인덱스의 값을 비교한 후, 현 인덱스 값이 더 크다면 서로 위치를 바꿔가며 결국 제일 큰 값이 제일 뒤로 가는 정렬

반복문을 반복할 수록 범위가 하나씩 줄어들어 큰값이 정렬 된다.

 

by 호원중학교 2학년 좌호빈