您的位置首页百科知识

C语言快速来自排序代码

问题补充说明:输入n(个数),a[]能运行的要能运行的,调通了再拿来,好了加分

C语言快速来自排序代码

采用快速排序,用递归实现#include<stdio.h>

#气乡衣洲心叫优八额宽困defineN10//请轴随身著师声育消互变定义排序数组元素个数

intQsort(intstart,intlength,inta[])//start排序的起始,length是要排序序列长度

{

intx=a[sta拉算宽王rt];

inti,j;

i=start;

j=length-1;

while(纪清每i<j)

{

if(x<a配威特安立民[j])

j--;

elseif(x>a[j])

{

a[i]=a[j];

a[j]=x;

i++;

}

elseif(x<a[i])

{

a[j]=a[i];

a[i]=x;

j--;

}

else

i++;

}

if(s教概朝交tart<length-1)

{

Qsort(start,i,a);

Qsort(i+1,length,a);

}

}

voidmain()

{

int掉草山副红考言度料a[N]={0};

inti;

f集的年注宁or(i=0;i<N;i++)

scanf("%d",&a[i]);

Qs血谁够夫械由氢否附ort(0,N,a);

for(i=0;i<N;i++)

printf("%d",a[i]);

}

程序执行时输入N个数,对这N个数进行排序,可以预设N的长度