码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序--quicksort

时间:2019-11-08 15:12:52      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:for   快速   class   i++   while   main   func   快速排序   fun   

/*
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\n", arr[i]);
    }
    return 0;
}

快速排序--quicksort

标签:for   快速   class   i++   while   main   func   快速排序   fun   

原文地址:https://www.cnblogs.com/xuzhaoping/p/11820292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!