首页 > 代码库 > 「C练习」快速排序
「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练习」快速排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。