調整參數後按下「開始排序」,可選擇自動播放或分解模式逐步學習。
下面這段程式碼示範如何用 C++ 實作氣泡排序,和上方動畫的「比較相鄰兩個元素並交換」概念相同。
swapped 可提早結束:若某一輪沒有交換,代表已排序完成。#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int>& arr) {
int n = static_cast<int>(arr.size());
for (int i = 0; i < n - 1; ++i) {
bool swapped = false;
for (int j = 0; j < n - 1 - i; ++j) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
swapped = true;
}
}
if (!swapped) {
break;
}
}
}
int main() {
vector<int> data = {5, 1, 4, 2, 8};
bubbleSort(data);
cout << "排序結果: ";
for (int x : data) {
cout << x << " ";
}
cout << endl;
return 0;
}