对给定序列中的奇数,进行增次序排序
题目地址:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1110
一开始,自己用冒泡做的,超时了!看了正确答案后,才知道自己多菜~原来直接有qsort与sort这两个快排函数
自己AC的代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
int num[100000],odd[100000],m,n,i,j,index=0,count=1;
scanf("%d",&m);
getchar();
while(m--){
scanf("%d",&n);
getchar();
for(i=0;i<n;i++){
scanf("%d",&num[i]);
if(num[i]%2!=0)
odd[index++]=num[i];
}
getchar();
sort(odd,odd+index);
printf("Case %d:\n",count++);
index=0;
for(j=0;j<n;j++){
if(j!=0)printf(" "); //空格的处理
if(num[j]%2==0)printf("%d",num[j]);
else printf("%d",odd[index++]);
}
index=0;
printf("\n");
}
return 0;
}
下面是一些作者对qsort和sort的总结,地址如下:
http://blog.youkuaiyun.com/zzzmmmkkk/article/details/4266888/