将int插入列表

时间:2012-04-20 23:32:17

标签: haskell

我想将int插入到排序列表中的正确位置。例如,如果我插入2,它将插入第二个位置。

insert :: Int -> [Int] -> [Int
insert x [] = [x]
insert x (y:ys) = if xsy 
                 then x:y:ys else y insert x ys 

任何人都可以指出什么是错的。 谢谢

1 个答案:

答案 0 :(得分:4)

像丹尼尔费舍尔所说,你只是有一些错别字:

  • xsy大概应为x < y

  • y insert x ys中有一个缺少的运算符;你需要将一个值添加到列表中的运算符是什么? (提示:在对列表进行模式匹配时使用它。)

  • 您在]之后错过了[Int

  • 你的缩进是错的; then应该至少与if对齐,else应该在新行上,与then对齐。如果您使用制表符进行缩进,则应将编辑器设置为使用空格缩进(或者,如果必须,将其设置为将制表符显示为8个空格,这是Haskell期望的那样)。

除此之外,你很高兴。