算法可视化

详细模式
准备就绪。点击"排序"按钮开始演示,或"单步执行"逐步查看。

C++代码实现

void bubbleSort(int arr[], int n) {
bool swapped;
// 外层循环:需要进行n-1次迭代
for (int i = 0; i < n - 1; i++) {
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) {
break; // 提前退出
}
}
}
当前状态:准备就绪