如何在SML / NJ中使用LIST_SORT函数?

时间:2015-10-12 14:56:29

标签: functional-programming smlnj ml

我不知道如何正确使用该函数来对SML / NJ(新泽西标准ML)中的列表进行排序。

这是手册:here

制作一个用例示例, 例如排序([1,9,3,4]);为了获得[1,3,4,9]。

1 个答案:

答案 0 :(得分:1)

非常简短,以下是语法:

ListMergeSort.sort (fn(x,y)=> x>y) [3,5,6,7,4,3,7,9,1,2,3];

<强>说明: ListMergeSort:因为这是文档中提供的结构:

  

<强>概要

     

signature LIST_SORT

     

structure ListMergeSort : LIST_SORT

     

LIST_SORT签名指定了列表的应用排序接口。

此后,sort函数需要两个参数,如界面所示:

val sort : (('a * 'a) -> bool) -> 'a list -> 'a list 
  1. 一个接受两个参数并返回boolean的函数:(('a * 'a) -> bool) 这是我在飞行中定义的匿名函数的例子:

    fn(x,y)=> x>y

  2. 它接受两个参数,并返回boolean。这两个参数由sort函数提供,该函数将传递要排序的列表元素。

    1. 需要分类的清单,例如:[3,5,6,7,4,3,7,9,1,2,3]