用两种简洁的方法来表示
1.桶排序
#include<stdio.h>
int main()
{
int count[100000] = { 0 }, n1 = 0, n2 = 0,input = 0, i = 0 ,j = 0;
scanf("%d%d", &n1,&n2);
int n = n1 + n2;
while(n--)
{
scanf("%d",&input);
count[input]++;
}
for(i = 0; i < 100000; i++)
for(j = 0; j < count[i]; j++) //非去重表达
printf("%d ",i);
printf("\n");
return 0;
}
2.调用qsort
#include<stdio.h>
#include<stdlib.h>
int cmp_by_int(void* e1, void* e2)
{
return *((int*)e1) - *((int*)e2); //这里类型别写错,一度以为qsort出问题了
}
int main()
{
int arr[10000] = {0}, n1 = 0, n2 = 0,input = 0, i = 0;
scanf("%d%d", &n1,&n2);
int n = n1 + n2;
for(i = 0; i < n; i++)
scanf("%d",arr + i);
qsort(arr,n,sizeof(int),cmp_by_int);
for(i = 0; i < n; i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}

京公网安备 11010502036488号