请以函数优化冒泡排序
时间: 2023-11-20 07:59:09 浏览: 72
冒泡排序优化算法
冒泡排序是一种简单的排序算法,但是在处理大量数据时效率较低。可以通过函数优化来提高冒泡排序的效率。具体方法如下:
1. 将比较和交换操作封装成函数,减少代码重复。
2. 在每一轮比较中,记录最后一次交换的位置,下一轮比较只需要比较到该位置即可,减少比较次数。
下面是函数优化后的冒泡排序代码:
```
void bubble_sort(int arr[], int len) {
int i, j, last_swap;
for (i = 0; i < len - 1; i++) {
last_swap = 0;
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
last_swap = j + 1;
}
}
if (last_swap == 0) {
break;
}
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
其中,`bubble_sort`函数用于排序,`swap`函数用于交换两个数的值。在`bubble_sort`函数中,`last_swap`变量记录最后一次交换的位置,如果该位置为0,则说明已经排好序,可以直接退出循环。
阅读全文