用c语言写一个优化的冒牌排序
时间: 2023-03-26 08:03:53 浏览: 87
C语言中快速排序和插入排序优化的实现
以下是用 C 语言写的优化冒泡排序的代码:
```c
void bubble_sort(int arr[], int n) {
int i, j, temp;
bool swapped;
for (i = ; i < n - 1; i++) {
swapped = false;
for (j = ; 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;
}
}
}
```
这是一个优化过的冒泡排序算法,它在每一轮排序中增加了一个标志位,用于判断是否已经完成排序。如果在一轮排序中没有发生交换,说明已经完成排序,可以提前结束循环,从而减少了不必要的比较次数,提高了排序效率。
阅读全文