大家好,我是小典,我来为大家解答以上问题。数组排序的最好时间复杂度,数组排序很多人还不知道,现在让我们一起来看看吧!
1、展开全部
2、#include
3、#include
4、int numSort(int *a,int count_num)
5、{ int i,j,min=-1,temp;
6、 for(j=count_num-1;j>0;j--)
7、 for(i=j-1;i>=0;i--)
8、 if(a[j] > a[i])
9、 { temp=a[i]; a[i]=a[j]; a[j]=temp;
10、 min=i;
11、 j=0;
12、 break;
13、 }
14、 if(min==-1) return 0;
15、 for(i=min+1;i for(j=i+1;j if(a[j] < a[i])
16、 { temp=a[i];
17、 a[i]=a[j];
18、 a[j]=temp;
19、 }
20、 return 1;
21、}
22、void main()
23、{ int *a;
24、 int i,j,count_num;
25、 printf("个数:");
26、 scanf("%d",&count_num);
27、 a=(int *)malloc(sizeof(int)*count_num);
28、 for(j=0;j { printf("输入第%d个数:",j+1);
29、 scanf("%d",a+j);
30、 }
31、 if(numSort(a,count_num))
32、 { printf(" 排列后:");
33、 for(i=0;i printf("%d ",a[i]);
34、 }
35、 else printf(" 不满足条件");
36、}
本文到此讲解完毕了,希望对大家有帮助。