优化一下C++冒泡排序
时间: 2023-05-20 07:00:49 浏览: 105
好的,冒泡排序是一种简单的排序算法,但是在处理大量数据时效率较低。以下是优化后的C语言冒泡排序代码:
```c
void bubble_sort(int arr[], int n) {
int i, j, temp;
bool swapped;
for (i = 0; i < n-1; i++) {
swapped = false;
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
swapped = true;
}
}
if (swapped == false)
break;
}
}
```
这里使用了一个布尔变量swapped来判断是否发生了交换,如果没有交换说明已经排好序,可以直接退出循环。这样可以减少不必要的比较和交换操作,提高效率。
阅读全文