Thuật toán Bubble Sort
Hôm nay chúng ta cùng tìm hiểu về thuật toán Bubble Sort.
1. Nguyên lý cơ bản của Bubble Sort
– Là một thuật toán đơn giản dễ hiểu và dễ thực hiện.
– Thực hiện việc kiểm tra so sánh sánh hai phần tử bên cạnh nhau, rồi hoán đổi vị trí cho nhau.
– Độ phức tạp của thuật toán là: O = N²
2 Thực hành.
// Phattrienphanmem123az.com #include <iostream> #include <conio.h> using namespace std; void Swap(int& x, int& y) { int temp = x; x = y; y = temp; } void BubbleSort(int arr[], int n) { for (int i = 0; i < n-1; ++i) { bool swapped = false; for (int j = 0; j < n-i-1; ++j) { if (arr[j] > arr[j+1]) { Swap(arr[j], arr[j+1]); swapped = true; } } if (swapped == false) break; } } void Show(int arr[], int size) { for (int i=0; i < size; ++i) std::cout << arr[i] << " "; } int main() { int arr[] = {44, 36, 15, 12, 32, 10, 80}; int n = sizeof(arr)/sizeof(arr[0]); BubbleSort(arr, n); std::cout << "Sorted List: \n"; Show(arr, n); _getch(); return 0; }
TPham