经典快速排序算法C++实现

编辑:谯胜平      分类:程序与算法      标签:快速排序      发布时间:2021-04-21      浏览次数:356

#include<iostream>
using namespace std;

int partition(int num[], int left, int right){
    int pivot = num[left];
    while(left < right){
        while(left < right && num[right] >= pivot) --right;
        num[left] = num[right];
        while(left < right && num[left] <= pivot) ++left;
        num[right] = num[left];
    }
    num[left] = pivot;
    return left;
}

void quickSort(int num[], int left, int right){
    if(left < right){
        int pivot = partition(num, left, right);
        quickSort(num, left, pivot - 1);
        quickSort(num, pivot + 1, right);
    }
}

int main(){
    int num[7] = {1,3,5,7,6,4,2};
    quickSort(num, 0, 6);
    for(int i = 0; i < 7; i++){
        cout << num[i] << " ";
    }
    return 0;
}


看不清?换一个