c语言进行一维数组排序
时间: 2024-12-18 20:15:03 浏览: 4
C语言一维数组排序(C语言一维数组排序)
在C语言中,对一维数组进行排序最常用的是冒泡排序、选择排序、插入排序和快速排序等简单算法,以及更高效的归并排序和堆排序。这里以快速排序为例,因为它是一种常用的高效排序算法:
**快速排序**:
```c
void quick_sort(int arr[], int low, int high) {
if (low < high) {
// 选取中间元素作为基准
int pivot = arr[low + (high - low) / 2];
int i = low, j = high;
while (i <= j) {
// 把所有比基准小的元素放到左边
while (arr[i] < pivot)
i++;
// 把所有比基准大的元素放到右边
while (arr[j] > pivot)
j--;
// 交换位置
if (i <= j)
swap(&arr[i], &arr[j]);
}
// 对左右两个部分递归地进行排序
quick_sort(arr, low, j - 1);
quick_sort(arr, i, high);
}
}
// 调用函数
int main() {
int arr[] = {5, 2, 8, 4, 9, 1};
int n = sizeof(arr) / sizeof(arr[0]);
quick_sort(arr, 0, n - 1);
return 0;
}
```
阅读全文