【书上讲解】快速排序

2020-12-13 16:34

阅读:535

标签:name   font   i++   ace   描述   using   art   swa   mes   

描述

【题解】


把第一个数字作为基准,然后把[l+1,r]进行划分.
找到最大的j,使得a[j] 然后j就是这次划分的结果
在每个函数前面加template 之后就能用Type代替任意类型了(传进来什么都可以)

【代码】

#include 
#include 
using namespace std;
const int N = 1e5;

int n;
int a[N+10];



template 
int _partition(Type a[],int l,int r){
    int i = l,j = r+1;
    Type x = a[l];
    while (i=x
        while (a[--j]>x);
        if (i>=j) break;
        swap(a[i],a[j]);
    }
    //a[j]最后
void QuickSort(Type a[],int l,int r){
    int index = _partition(a,l,r);
    if (l

【书上讲解】快速排序

标签:name   font   i++   ace   描述   using   art   swa   mes   

原文地址:https://www.cnblogs.com/AWCXV/p/11620791.html


评论


亲,登录后才可以留言!