- 博客(1)
- 收藏
- 关注
原创 基数排序 C++ (正负数均可 + 详解)
Theory: 从低位到高位, 每次分两步: 把当前位相同的值放在同一个桶里面,如个位数都是1的就都放到1号桶 从[0, radix - 1]把每个桶里面的值按顺序收集起来 然后循环执行上述步骤k次,其中k是所有数中最大的数位 Attention: 如果全是非负数,那么只需要开10个桶(对于十进制数); 有负数时开20个, 因为 -45 % 10 = -5,把[-9, -1]映射到[1, 9],把[0, 9]映射到[10, 19] (即加上10) Code: int a[7] = {
2020-12-04 12:08:19 1107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人