首页 > 代码库 > 1024.排序——C语言
1024.排序——C语言
1024. 排序
Input Format
第一行:正整数n,表示需要排序的数字的个数;
第二行:n个正整数,代表需要排序的数字。
Output Format
输出共一行,n个正整数,为从小到大排序后的结果。
Sample Input
32 1 3
Sample Output
1 2 3
Limits
n<10000,时间限制1000ms,内存限制30000kb。
这个题使用交换法排序也可以过,代码如下:
1 #include<stdio.h> 2 void main(){ 3 int n,i,j,k,temp; 4 int *p; 5 scanf("%d",&n); 6 p= (int *)malloc(n*sizeof(int)); 7 for(i=0;i<n;i++){ 8 scanf("%d",p+i); 9 }10 for(i=0;i<n;i++){11 k=i;12 for(j=i;j<n;j++){13 if(p[k]>p[j]){14 k=j;15 }16 }17 if(k!=i){18 temp = p[i];19 p[i]=p[k];20 p[k]=temp;21 }22 }23 for(i=0;i<n;i++){24 printf("%d ",p[i]);25 }26 free(p);27 }
acm中动态申请内存不可以判断是否申请成功,所以谨记 别养成坏习惯。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。