快速排序

Posted byerHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序相关的知识,希望对你有一定的参考价值。

代码:

#include<stdio.h>
#include<string.h>

void quick(int a[],int l,int r){
    int i,j,temp;
    i=l;
    j=r;
    if(l<r){
        temp = a[l];
        while(i!=j){
            while(j>i&&a[j]>temp){
                --j;
            }
            if(i<j){
                a[i]=a[j];
                i++;
            }

            while(j>i&&a[i]<temp){
                i++;
            }
            if(i<j){
                a[j]=a[i];
                j--;
            }
        }
        a[i]=temp;
        quick(a,l,i-1);
        quick(a,i+1,r);
    }

}
int main()
{
    int a[10] = {5,9,90,98,3,3,5,2,1,0};

    int i;
    quick(a,0,9);
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
}

运行结果:

 

以上是关于快速排序的主要内容,如果未能解决你的问题,请参考以下文章

算法排序之堆排序

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段

如何使用sublime代码片段快速输入PHP头部版本声明

代码片段如何使用CSS来快速定义多彩光标

vs2003:快速片段工具