目录
一、冒泡排序
原理:比较两个相邻的元素,符合要求即交换两个元素的位置。
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int>& arr) {
int n = arr.size();
bool swapped;
for (int i = 0; i < n - 1; ++i) {
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> arr = { 5, 2, 9, 1, 5, 6 };
cout << "排序前: ";
for (const auto& x : arr) cout << x << " ";
cout << endl;
bubbleSort(arr);
cout << "排序后: ";
for (const auto& x : arr) cout << x << " ";
cout << endl;
return 0;
}
2万+

被折叠的 条评论
为什么被折叠?



