void Function()
{
int arr[8] = {2,4,5,6,3,1,2,7};
int ret[8] = {0};
int get[8] = {0};
int j = 0;
//0 1 2 1 1 1 1 1 arr数组中,与ret数组下标相同的元素的个数
//0 1 2 3 4 5 6 7 ret数组的下标
for (int i = 0; i < 8; i++)
{
ret[arr[i]] = ret[arr[i]] + 1;
}
for (int k = 0; k < 8; k++)
{
if (ret[k] > 0)
{
int t = ret[k];//ret[]的元素,存储的是arr[]中相同元素的数量
if (t < 2)
{
get[j++] = k;
}
else
{
while (t > 0)
{
get[j++] = k;
t--;
}
}
}
}
for(int x=0;x<8;x++)
{
printf("%d\n",get[x]);
}
}
桶排序
最新推荐文章于 2024-04-19 14:46:11 发布