c语言快速排序算法怎么实现

   2024-11-04 5360
核心提示:快速排序算法是一种常见的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一

快速排序算法是一种常见的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后分别对这两部分数据进行排序,循环递归直到整个序列有序。

以下是C语言实现快速排序算法的示例代码:

#include <stdio.h>void quickSort(int arr[], int left, int right) {    int i = left, j = right;    int pivot = arr[(left + right) / 2];    while (i <= j) {        while (arr[i] < pivot) {            i++;        }        while (arr[j] > pivot) {            j--;        }        if (i <= j) {            int temp = arr[i];            arr[i] = arr[j];            arr[j] = temp;            i++;            j--;        }    }    if (left < j) {        quickSort(arr, left, j);    }    if (i < right) {        quickSort(arr, i, right);    }}int main() {    int arr[] = {12, 34, 23, 45, 56, 67, 78, 89, 90, 11};    int n = sizeof(arr) / sizeof(arr[0]);    quickSort(arr, 0, n - 1);    printf("Sorted array: ");    for (int i = 0; i < n; i++) {        printf("%d ", arr[i]);    }    return 0;}

在上面的代码中,quickSort函数实现了快速排序算法的逻辑,其中left表示数组的起始索引,right表示数组的结束索引。在主函数中,我们定义了一个数组arr并调用quickSort函数对其进行排序,最后打印排序后的结果。

注意:上面的示例代码只是一种实现方式,实际应用中可能需要根据具体情况进行优化和改进。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号