我对函数式编程完全陌生;这是SML的作业分配。将常用项目列表转换为有序对列表
我有一个整数列表,我试图得到一个有序对的列表,其中第二个条目是第一个条目出现在初始列表中的次数。
例如:
[2,3,3,5] => [(2,1),(3,2),(5,1)]
我不希望别人来实现此,而是给我的什么排序高阶函数我要寻找的想法,和/或指针在正确的方向。同样,对于函数式编程来说也是全新的,对于SML语言来说更是新的东西。
我最初的想法是我想使用map
,但我无法弄清楚如何跟踪或合并相似的项目。我只能成功地将每个项目转换为有序对,第二个条目等于1 ......完全没有用处。