c语言 如何对数组进行排序
时间: 2024-10-30 15:06:03 浏览: 45
在C语言中,有多种算法可以对数组进行排序,其中最常用的是选择排序、插入排序、冒泡排序、快速排序、归并排序等。这里以快速排序为例简要说明:
**快速排序(Quick Sort):**
这是一种递归的分治算法。基本思想是选取数组中的一个元素作为“基准”(pivot),然后将所有小于基准的元素放在其左边,大于基准的元素放在右边。接着对基准左右两侧的子数组分别进行同样的操作,直到整个数组有序。
以下是快速排序的伪代码示例:
```c
void quickSort(int arr[], int low, int high) {
if (low < high) {
// 选择中间位置的元素作为基准
int pivot = partition(arr, low, high);
// 对基准左边和右边的子数组递归排序
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
}
int partition(int arr[], int low, int high) {
// 通常选择最后一个元素作为基准
int pivot = arr[high];
int i = low - 1;
for (int j = low; j <= high - 1; j++) {
if (arr[j] < pivot) {
i++;
// 交换元素
swap(&arr[i], &arr[j]);
}
}
// 将基准移动到正确的位置
swap(&arr[i + 1], &arr[high]);
return i + 1;
}
```
阅读全文
相关推荐

















