以下是用于按非递减顺序对数字进行排序的代码:
#include<stdio.h>
#include<stdlib.h>
# define size 1000001
static int a[size];
int main()
{
int t, k, i;
scanf("%d", &t);
for(i = 0; i < t; i++)
{
scanf("%d", &k);
a[k] += 1;
}
for(i = 0; i < 1000001; i++)
{
while(a[i]-- != 0)
printf("%d\n", i);
}
return 0;
}
如果有人可以向我解释代码,那将是非常有帮助的。我已经浏览了代码,但我不知道它如何对数字进行排序。在任何地方都没有进行交换,但它仍然可以在 c++ 编辑器中工作。