|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 肚子饿了233 于 2020-12-20 10:07 编辑
#include<stdio.h>
void quick_sort(int array[],int left,int right);
int main (void)
{
int array[]={73,108,11,118,101,70,105,115,104,67,46,99,111,109};
int i,length;
length=sizeof(array)/sizeof(array[0]);/*整个数组的宽度除以每个数组的宽度即为数组总共有多少元素*/
quick_sort(array,0,length-1);
printf("被排序后的数组为:");
for(i=0;i<length;i++)
{
printf("%d ",array[i]);
}
}
void quick_sort(int array[],int left,int right)
{
int i=left,j=right,pivot,temp;
pivot=array[(i+j)/2];
while(i<=j)
{
while(array[i]<pivot)
{
i++;
}
while(array[j]>pivot)
{
j++;
}
if(i<=j)
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
i++;
j--;
}
}
if(left<j)
{
quick_sort(array,left,j);
}
if(i<right)
{
quick_sort(array,i,right);
}
}
#include<stdio.h>
void quick_sort(int array[] , int left , int right)
{
int i = left , j = right , pivot , temp ;
pivot = array[(i + j) / 2] ;
while(i <= j){
while(array[i] < pivot) i ++ ;
while(array[j] > pivot) j -- ;
if(i <= j) {
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
i ++ ;
j -- ;
}
}
if(left < j) quick_sort(array , left , j) ;
if(i < right) quick_sort(array , i , right) ;
}
int main (void)
{
int array[]={73,108,11,118,101,70,105,115,104,67,46,99,111,109};
int i,length;
length=sizeof(array)/sizeof(array[0]);/*整个数组的宽度除以每个数组的宽度即为数组总共有多少元素*/
quick_sort(array,0,length-1) ;
printf("被排序后的数组为:") ;
for(i=0;i<length;i++) printf("%d ",array[i]);
}
|
|