花之剑'HOME

一朵飘舞在风中的雪花,挣扎着,不想被融化。

qsort用法快速排序算法

Posted on 2007-08-04 18:15 花之剑 阅读(648) 评论(0)  编辑  收藏 所属分类: c/c++ & algorithm
int cmp(const void * a  , const void * b)
{
return *(int *)a - *(int *) b;
}

qsort(a,n,sizeof(int),cmp);//排序
 

PHP代码:
#include<stdio.h>
#include<stdlib.h>
void swap(int *p,int *q)
{
    
int t=*p;
    *
p=*q;
    *
q=t;
}
void qsort_test(int a[],int lower,int high)
{
    
int p=lower;
    
int l=lower-1,n=0,t=a[high];
    if(
lower>=high) return ;
    while(
lower<high)
    {
        if(
a[lower]<=t)
        {    
            
l++;
            if(
n>0)
                
swap(&a[l],&a[lower]);    
        }else
n++;
        
lower++;
    }
    
l++;
    
swap(&a[l],&a[high]);
    
qsort_test(a,p,l-1);
    
qsort_test(a,l+1,high);

}
int main()
{
               
printf("请输入10个数\n");
    
int a[10];
    
int i;
    for(
i=0;i<10;i++)
    
scanf("%d",&a[i]);
                       for(
i=0;i<10;i++)
    
qsort_test(a,0,9);
    for(
i=0;i<10;i++)
    
printf("%d  ",a[i]);
     return
0;
}

只有注册用户登录后才能发表评论。


网站导航: