【发布时间】:2018-04-20 03:15:06
【问题描述】:
在 SML 中,如何使用递归计算字符串中字符的出现次数? 输出应采用 (char,#AppearenceOfChar) 的形式。 我设法做的是
fun frequency(x) = if x = [] then [] else [(hd x,1)]@frequency(tl x)
这将返回 (char,1) 形式的元组。我也可以消除这个列表中的重复项,所以我现在没有做的是编写一个类似的函数
fun count(s:string,l: (char,int) list)
通过增加特定元组组件的字符串“迭代”。我怎样才能递归地做到这一点?对不起菜鸟问题,但我是函数式编程的新手,但我希望这个问题至少可以理解:)
【问题讨论】:
-
您想测量单个字符、字符子集还是字符串中所有字符的出现频率?
-
嗨。我想测量所有字符的频率。结果应该是一组元组(每个字符一个)
标签: string recursion count char sml