快速排序--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\n", arr[i]);
    }
    return 0;
}

posted @   电院院长  阅读(191)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示