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
반응형
'Application > 기초' 카테고리의 다른 글
[기초] C++ 알고리즘 : 삽입 정렬 (Insertion Sort) (0) | 2024.05.06 |
---|---|
[기초] C++ 알고리즘 : 선택 정렬 (Selection Sort) (0) | 2024.05.05 |
[기초] C++ 반복자 (Iterator) (0) | 2024.05.03 |
[기초] C++ 컨테이너 (Containers) (0) | 2024.05.02 |
[기초] C++ this 포인터 : 객체의 자기 참조 (0) | 2024.05.01 |