我编写了这段代码来实现字符串的lsd基数排序算法。
逻辑:
我们从最低有效数字开始,首先对这个数字应用排序。然后,我们移动到左边的下一个数字,依此类推。 count[]
包含特定数字位置的每个英文字母的频率。 count[1]
表示'a'
的频率,count[2]
的{{1}} ...等等......和'b'
。然后,我们计算累积计数。现在我们再次遍历字符串数组并计算count[0]=0
数组中的适当位置。例如:如果aux
和count[2] = 4
用于特定的数字位置,则表示该位置count[1]=1
的字词将占用'b'
,aux[1]
,{{ 1}}。
aux[2]
代码在此处和此处打印后给出段错误。问题出在第三个'for j'循环中。任何人都可以确定问题吗?
答案 0 :(得分:0)
有一个小错误......我减去了65,这是'A'的ascii而不是'a'