我想编写可以检查列表是否在ML语言程序中排序的程序,但我是这种语言的新手
我写了下面的代码,似乎它可以工作
有什么技巧可以在我的 ML 编程中使用吗
机器学习编程语言
let issorted x = match x with
[] -> true
| _::[] -> true
| _::_ -> issorted_helper (x);;
let rec issorted_helper x = match x with
| [] -> true
| h::t ->
if h > t
false
else
issorted_helper(t);;
该代码不仅在OCaml中,而且是错误的,因此翻译它几乎没有意义。
在列表结构上写下案例分析;
- 空列表已排序
- 对包含一个元素的列表进行排序
- 如果具有多个元素的列表的前两个元素按顺序排序,则对列表的尾部进行排序。
然后你把它翻译成 SML。