首页 > 解决方案 > 检查列表是否以 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);;

标签: ml

解决方案


该代码不仅在 OCaml 中,而且也是错误的,因此翻译它没有什么意义。

写下对列表结构的案例分析;

  • 空列表已排序
  • 具有一个元素的列表已排序
  • 如果列表的前两个元素是有序的,则对具有多个元素的列表进行排序,并且列表的尾部已排序。

然后你把它翻译成 SML。


推荐阅读