當前位置:成語大全網 - 書法字典 - c語言快速排序代碼

c語言快速排序代碼

使用快速排序和遞歸。

# include & ltstdio.h & gt

#define N 10 //定義排序數組中元素的個數。

Intqsort (int start,int length,int a[])//開始排序的開始,其中length是要排序的序列的長度。

{

int x = a[start];

int i,j;

i =開始;

j =長度-1;

while(我& ltj)

{

if(x & lt;a[j])

j-;

else if(x & gt;a[j])

{

a[I]= a[j];

a[j]= x;

i++;

}

else if(x & lt;a[i])

{

a[j]= a[I];

a[I]= x;

j-;

}

其他

i++;

}

if(start & lt;長度-1)

{

Qsort(start,I,a);

Qsort(i+1,長度,a);

}

}

void main()

{

int a[N]= { 0 };

int I;

for(I = 0;我& ltn;i++)

scanf("%d ",& ampa[I]);

Qsort(0,N,a);

for(I = 0;我& ltn;i++)

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

}

程序執行時,輸入n的個數,通過對n的個數進行排序,可以預設n的長度。