Я новичок в SML. Я получил этот алгоритм сортировки, чтобы реализовать, где на каждой итерации мне нужно выбрать минимальный элемент из списка, удалить его и создать отсортированный список.
Я сделал кодирование ниже, чтобы решитьпроблема.
Я написал 2 вспомогательные функции, чтобы выбрать минимальный элемент из списка и удалить один элемент из списка.
fun minList(x::xs) =List.foldl (fn (x,y)=> if x<y then x else y) x (x::xs);
fun remElem(x, l) =
case l of
[] => []
| (x1::x2::xs) => if x1=x then (x2::xs) else (x1::xs)
;
Выше двух программ успешно запущены.
Ниже приведен мой код сортировки.
fun simpSort(xs)=
let fun aux(xs,acc)=
case xs of
[] =>acc
| [x] => [x]
| (x::xs) => let val m = minList(xs)
in
aux(remElem(m,xs),acc@[m])
end
in aux(xs,[])
end;
Эта программа сортировки выдает ошибку.
Пожалуйста, сообщите.