「C练习」快速排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「C练习」快速排序相关的知识,希望对你有一定的参考价值。
快速排序
1 #include<stdio.h> 2 int num; 3 int a[101]; 4 void qw(int i,int n) 5 { 6 int z=i,p=n,tem,cc=a[i]; 7 if (z>=p) return; 8 while (z!=p) 9 { 10 while(a[p]>=cc && p>z) p--; 11 while(a[z]<=cc && p>z) z++; 12 if (z<p){tem=a[p];a[p]=a[z];a[z]=tem;}//在条件上下工夫,不在控制上浪费精力 13 } 14 a[i]=a[z];a[z]=cc; 15 qw(i,z-1); 16 qw(z+1,n); 17 return ; 18 } 19 int main() 20 { 21 int j; 22 23 scanf("%d",&num); 24 25 for (j=0;j<num;j++) 26 scanf("%d",&a[j]); 27 qw(0,num-1); 28 29 for (j=0;j<num;j++) 30 printf("%d ",a[j]); 31 printf("\n"); 32 return 0; 33 }
以上是关于「C练习」快速排序的主要内容,如果未能解决你的问题,请参考以下文章