以下是一個用C++實現冒泡排序的例子:
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 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 size = sizeof(arr) / sizeof(arr[0]);
cout << "原始數組為: ";
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
bubbleSort(arr, size);
cout << "排序后的數組為: ";
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
輸出結果:
原始數組為: 64 34 25 12 22 11 90
排序后的數組為: 11 12 22 25 34 64 90
這個例子中,我們首先定義了一個名為bubbleSort
的函數,該函數接受一個整數數組和數組的大小作為參數。在函數內部,我們使用兩個嵌套的循環來遍歷數組,并比較相鄰的元素。如果當前元素比下一個元素大,則交換它們的位置。通過這樣的比較和交換,最大的元素會“冒泡”到數組的末尾。然后,我們在main
函數中聲明了一個數組,并調用bubbleSort
函數對其進行排序。最后,我們輸出排序后的數組。