以下是快速排序的C++代码:

void quickSort(int arr[], int left, int right) {
    int i = left, j = right;
    int tmp;
    int pivot = arr[(left + right) / 2];
 
    /* partition */
    while (i <= j) {
        while (arr[i] < pivot)
            i++;
        while (arr[j] > pivot)
            j--;
        if (i <= j) {
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            i++;
            j--;
        }
    };
 
    /* recursion */
    if (left < j)
        quickSort(arr, left, j);
    if (i < right)
        quickSort(arr, i, right);
}

该代码使用了经典的快速排序算法,首先选择一个中心点(pivot),然后将数组分成两部分,左边的元素都小于中心点,右边的元素都大于中心点。然后对左右两部分分别进行递归排序,最后合并起来即可得到有序的数组。

快速排序c++代码

原文地址: https://www.cveoy.top/t/topic/WJh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录