您的位置:首页 > 产品设计 > UI/UE

a program a day 25(ds,quick sort)

2010-10-21 23:49 337 查看
/**
*quick sort
**/
#include<stdio.h>
void swap(int * a,int * b)
{
int tmp;
tmp = *a;
*a = * b;
*b = tmp;
}
void quickSort(int array[],int start,int end)
{
int i,j;
if(start < end)
{
i = start;
j = end + 1;
while(1)
{
do i++;
while(!(array[start] >= array[i] || start == i));
do j--;
while(!(array[start] <= array[j] || end == j));
if(i < j)
swap(&array[i],&array[j]);
else
break;

}
swap(&array[start],&array[j]);
quickSort(array,start,j - 1);
quickSort(array,j + 1,end);
}
}
int main()
{
int arr[10] = {2,5,6,3,7,8,0,9};
printf("\nbefore sorted:\n");
for(int i = 0;i != 10;i++)
printf("%d ",arr[i]);
quickSort(arr,0,9);
printf("\n after sorted:\n");
for(int j = 0;j != 10;j++)
printf("%d ",arr[j]);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: