您的位置:首页 > 其它

排序一个数组要求时间复杂度为O(N)

2017-08-15 19:26 246 查看
#define SIZE 65535
void Sort(int* a, int len)
{
int *data=new int[SIZE];
memset(data, 0, sizeof(int)*SIZE);//这里必须先将开辟的数组空间初始化为0
if (a == NULL)
{
return;
}
int i = 0;
for (i = 0; i < len; i++)
{
data[a[i]]++;
}
int j = 0;

for (i = 0; i < SIZE; i++)
{
if (data[i] != 0)
{
while (data[i]--)//出现相同数
{
a[j++] = i;
}
}
}
delete[]data;//记得释放空间
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐