ソートされたリストの正しい位置にintを挿入したいと思います。たとえば、2を挿入すると、2番目の位置に挿入されます。
insert :: Int -> [Int] -> [Int
insert x [] = [x]
insert x (y:ys) = if xsy
then x:y:ys else y insert x ys
誰でも何が悪いのか指摘できますか。ありがとう
ソートされたリストの正しい位置にintを挿入したいと思います。たとえば、2を挿入すると、2番目の位置に挿入されます。
insert :: Int -> [Int] -> [Int
insert x [] = [x]
insert x (y:ys) = if xsy
then x:y:ys else y insert x ys
誰でも何が悪いのか指摘できますか。ありがとう
Daniel Fischerが言うように、タイプミスがいくつかあります。
xsy
おそらくである必要がありますx < y
。
y insert x ys
;に演算子がありません。リストに値を付加するために必要な演算子は何ですか?(ヒント:リストをパターンマッチングするときに使用します。)
]
あなたは後を逃した[Int
。
インデントが間違っています。then
少なくとも。まで整列if
するelse
必要があり、は新しい行に配置され、。と整列される必要がありthen
ます。タブでインデントする場合は、代わりにスペースでインデントするようにエディターを設定する必要があります(または、必要に応じて、タブを8スペースとして表示するように設定します。これはHaskellが期待することです)。
それ以外は、行ってもいいです。