Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402363
  • 博文数量: 199
  • 博客积分: 154
  • 博客等级: 入伍新兵
  • 技术积分: 1530
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 08:43
文章分类

全部博文(199)

文章存档

2015年(101)

2014年(97)

2011年(1)

分类: C/C++

2015-05-08 11:55:41

void swap(int *a,int *b)
{                            /*交换元素位置*/
  int tmp;
  tmp = *a;
  *a = *b;
  *b = tmp;
}
void quicksort(int k[], int s,int t)
{                            /*快速排序*/
    int i,j;
    if(s         i = s;
        j = t+1;
        while(1){
            do i++;
            while(!(k[s]>=k[i] || i==t));        /*重复执行i++操作*/
            do j--;
            while(!(k[s]<=k[j] || j==s));        /*重复执行j--操作*/
            if(i                 swap(&k[i],&k[j]);            /*交换k[i]和k[j]位置*/
            else
                break;


        }
        swap(&k[s],&k[j]);                /*交换基准和k[j]位置*/
        quicksort(k,s,j-1);                    /*递归基准元素前面子序列*/
        quicksort(k,j+1,t);                    /*递归基准元素后面子序列*/
    }
}


void kuaisu()
{
    int k[10]={2,5,6,3,7,8,0,9,12,1} , i;
    printf("The orginal data array is\n") ;
    for(i=0;i<10;i++)                        /*显示*/
        printf("%d ",k[i]);
    quicksort(k,0,9);                        /*快速排序*/
    printf("\nThe result of quick sorting for the array is\n");
    for(i=0;i<10;i++)                         /*结果*/
        printf("%d ",k[i]);
}
阅读(1029) | 评论(0) | 转发(0) |
0

上一篇:探索式测试

下一篇:linux下CUnit使用

给主人留下些什么吧!~~