# 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학년 좌호빈