|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
void swap(int *a,int *b);
void quicksort(int array[],int n,int m);
int main()
{
int i=0;
int array[10]={4,3,5,2,7,6,9,5,1,2};
quicksort(array,0,9);
for(i=0;i<10;i++)
printf("%d",array[i]);
printf(" ");
}
void quicksort(int array[],int n,int m)
{
if(n<m)
{
//int temp=array[n];
int i,j;
j=m+1;
i=n;
while(1)
{
do i++;
while(!(i==m||array[i]>=array[n]));
do j--;
while(!(j==n||array[j]<=array[n]));
if(i<j)
swap(&array[i],&array[j]);
else
break;
}
swap(&array[n],&array[j]);
quicksort(array,n,j-1);
quicksort(array,j+1,m);
}
}
void swap(int *a,int *b)
{
*a=*a^*b;//用位处理为什么会出现0
*b=*a^*b;
*a=*a^*b;
/* int temp;
temp=*a;
*a=*b;
*b=temp;*/
} |
|