我正在尝试实现类似以下内容的功能:
我知道这段代码是错误的,但只是想表达我的想法。怎么样才能将余下的值与递归返回的最小值连接起来呢? 输入数据如下:
mymin (x:[]) = x
mymin (x:y:xs) = mymin ((if x < y then x else y):xs)
mysort [] = []
mysort (x) = mymin x (mysort othervalues)
我知道这段代码是错误的,但只是想表达我的想法。怎么样才能将余下的值与递归返回的最小值连接起来呢? 输入数据如下:
mysort [7,9,3,7,1,2]
[1,**7,9,3,7,2**]
[1,2,**7,9,3,7**]
[1,2,3,**7,9,7**]
[1,2,3,7,**7,9**]
[1,2,3,7,7,**9**]
[1,2,3,7,7,9]
a
只是属于Ord
类型类的任何类型。这只是为了使您的函数多态化,覆盖Ord
类。但最好在编写函数定义之前编写类型。通过编写类型,您可以向编译器提供某些提示,以便它可以执行某种优化。 - Satvik