算法四_5_1_低位优先字符串排序_总结

我认为低位优先字符串排序比较重要的思想:

  • 构建字母表,将要排序的对象中包含的所有字符组成String ,输入字母表中。字母表的顺序,就是后面排序的顺序。建立字符和索引的关系,方便两向查询。

算法四_5_1_低位优先字符串排序_总结

  • 索引计数法中的分类排序,将同一类放在一起,并将类作为对象排序。(首先将count转为索引,方便aux[count[a[i].key()]++]是连续的。

count转为索引,在此之前还要将组号加1,方便后面分组:这样count[1] = 0; count[2]=3;count[3] = 8; count[4] = 14; count[5] = 20;
算法四_5_1_低位优先字符串排序_总结
同一类放在一起,并将类作为对象排序:
count[a[i].key()]++ : 0++; 3++;8++; 14++
算法四_5_1_低位优先字符串排序_总结
算法四_5_1_低位优先字符串排序_总结

  • 循环的按d = 0 ~ W排序,从低位到高位排序。

算法四_5_1_低位优先字符串排序_总结

  • 适合排序对象:所有排序对象长度相同。

完整代码:
算法四_5_1_低位优先字符串排序_总结