|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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]);
- }
复制代码
|
|