题目: int a[] = {12,13,12,13,19,18,15,12,15,16,17},要求对数组a进行排序,要求时间复杂度为O(N) 。
void sort(int *arr, int size)
{
if (arr ==
NULL || size <=
0)
exit(
1);
int
data[20];
memset(
data, 0, SIZE*sizeof(int));
int i =
0;
for (i =
0; i < size; ++i)
{
data[arr[i]] += 1;
}
i =
0;
for (int j =
0; j <
SIZE; j++)
{
if (
data[j]==1)
{
arr[i++] = j;
}
else if (
data[j]>1)
{
arr[i++] = j;
data[j] -= 1;
j
}
else
;
}
}