这次是快排————也是蛮简单的

快排就是给你一堆数,定义一个基准数,大于基准数的放右边,小于的放左边。

比如说:6 1 2 7 9 3 4 5 10 8

以6为基准数,大于6的放右边 小于6的放左边》》》:3 1 2 5 4 6 9 7 10 8

ps:详细可以看大佬的啊哈;

下面放代码:

#include<stdio.h>
int a[111],n;
void quicksort(int left,int right)
{
    int i,j,t,temp;
    if(left>right)
        return;//结束的条件。


    temp=a[left];
    i=left;
    j=right;
    while(i!=j)
    {
        while(a[j]>=temp&&i<j)
            j--;
        while(a[i]<=temp&&i<j)
            i++;
        if(i<j)
        {
            t=a[j];
            a[j]=a[i];
            a[i]=t;
        }
    }
    //i=j时 进行交换
    a[left]=a[i];
    a[i]=temp;
    //现在这里的i和j相等 第一次到这里的时候都是6
    quicksort(left,i-1);//左边在进行处理
    quicksort(i+1,right);//右边再处理
}
int main()
{
    scanf("%d",&n);
    for(int i=1; i<=n; i++)
    {
        scanf("%d",&a[i]);
    }
    quicksort(1,n);
    for(int i=1; i<=n; i++)
    {
        PRintf("%d ",a[i]);
    }
    return 0;
}