快速排序--quicksort

Posted xuzhaoping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序--quicksort相关的知识,希望对你有一定的参考价值。

/*
quicksort.c
Author: Zoro
Date:   2019/11/8
function:   快速排序
QuickSort   pivot   partition
*/

#include<stdio.h>

void quickSort(int arr[], int L, int R) {
    int i = L;
    int j = R;
    int pivot = arr[(L + R) / 2];

    while (i <= j) {
        while (arr[i] < pivot) {
            i++;
        }
        while (arr[j] > pivot) {
            j--;
        }
        if (i <= j) {
            int tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            i++;
            j--;
        }
    }
    if (L < j) {
        quickSort(arr, L, j);
    }
    if (i < R) {
        quickSort(arr, i, R);
    }
}

int main() {
    int arr[] = {6, 7, 8, 4, 3, 2, 9, 1, 5};
    int i;
    quickSort(arr, 0, 8);
    for (i = 0; i < 9; i++) {
        printf("%d
", arr[i]);
    }
    return 0;
}

以上是关于快速排序--quicksort的主要内容,如果未能解决你的问题,请参考以下文章

快速排序(QuickSort)的Javascript实现

快速排序法QuickSort

快速排序

快速排序--quicksort

小白初识 - 快速排序(QuickSort)

js算法-快速排序(Quicksort)