思路实属简单不需要讲
代码演示(未优化的)
void bubble_sort(int *num, int n) { //未优化的
for (int i = 1; i < n; i++) {
for (int j = 0; j < n - i; j++) {
if (num[j] <= num[j + 1]) continue;
else swap(num[j], num[j + 1]);
}
}
return ;
}
代码演示(优化的)
void bubble_sort(int *num, int n) { //优化过的
int times = 1;
for (int i = 1; i < n && times; i++) {
times = 0;
for (int j = 0; j < n - i; j++) {
if (num[j] <= num[j + 1]) continue;
swap(num[j], num[j + 1]);
times = 1;
}
}
return ;
}