快速排序实现

快速排序实现

#include<stdio.h>
#include<math.h>
#include<stdlib.h>

int a[100];

void swap(int *a,int *b)
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}

void quicksort(int l,int r)
{
    if(l>=r)
        return;
    int m=l,i;
    for(i=l+1;i<=r;i++)
    {
        if(a[i]<a[l])
            swap(&a[++m],&a[i]);
    }
    swap(&a[m],&a[l]);
    quicksort(l,m-1);
    quicksort(m+1,r);
}




void main()
{
    for(int i=0;i<100;i++)
        a[i]=rand();
    
    quicksort(0,99);

    for(int i=0;i<100;i++)
        printf("%d\n",a[i]);
}

 



posted on 2012-12-10 16:36  luckistmaomao  阅读(157)  评论(0编辑  收藏  举报

导航