c语言给数组排序,使数组从小到大排列
时间: 2024-09-21 21:13:05 浏览: 59
在C语言中,对数组进行排序是一项基础任务,最常见的是使用“冒泡排序”、“选择排序”、“插入排序”、“快速排序”或“归并排序”等算法。这里以经典的“冒泡排序”为例,它简单直观,适合于小型数组:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) { // 遍历所有元素
for (int j = 0; j < n - i - 1; j++) { // 内层循环用于相邻元素比较
if (arr[j] > arr[j + 1]) { // 如果前一个元素大于后一个
// 交换这两个元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int array[] = {64, 34, 25, 12, 22, 11, 90};
int size = sizeof(array) / sizeof(array[0]);
printf("Original array:\n");
for (int i = 0; i < size; i++)
printf("%d ", array[i]);
bubble_sort(array, size);
printf("\nSorted array (ascending):\n");
for (int i = 0; i < size; i++)
printf("%d ", array[i]);
return 0;
}
```
这段代码首先定义了一个名为`bubble_sort`的函数,该函数接受一个整数数组和它的大小作为参数,然后通过两个嵌套循环对比数组元素,将较大的元素逐渐"冒"到数组的末尾。在`main`函数中,我们创建了一个测试数组,并调用`bubble_sort`对其进行排序。
注意,对于大规模的数据,上述冒泡排序效率较低,推荐使用更高效的排序算法如快速排序或归并排序。
阅读全文