用c语言对数组2 5 7 8 10 12 23 52进行升序排序
时间: 2024-01-05 22:02:07 浏览: 31
在 C 语言中,可以使用冒泡排序或选择排序对数组进行升序排序。这里我们介绍一下冒泡排序的实现方法。
冒泡排序的基本思想是:比较相邻的两个元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。通过一遍遍的比较和交换,把最大的元素逐渐从后往前排好,直到全部排好序为止。
实现代码如下:
```c
#include <stdio.h>
void bubble_sort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {2, 5, 7, 8, 10, 12, 23, 52};
int len = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, len);
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:`2 5 7 8 10 12 23 52`,已经按照从小到大的顺序排好了序。
代码中,我们首先定义了一个 `bubble_sort()` 函数,它接受一个整型数组和数组的长度作为参数。在函数内部,我们使用了两层循环,外层循环控制比较的轮数,内层循环控制每轮比较的次数。每次内层循环中,我们比较当前位置和下一个位置的元素大小,如果前者大于后者,就交换它们的位置。通过不断地比较和交换,我们最终就可以得到一个排序好的数组。
在 `main()` 函数中,我们首先定义了一个数组 `arr`,然后计算出它的长度,并调用 `bubble_sort()` 函数对其进行排序。最后,我们使用一个循环遍历数组,并输出每个元素的值。