Вход: Unsorted список/вывод: упорядоченный списокOcaml вставка Сортировка
Моя основная идея заключается в том вставить целое число в отсортированный список.
(я могу отсортировать список, если я мог бы вставить первый элемент в отсортированных хвосты.)
Я использовал «вставить», который thehelper функция.
Однако он переполняется. Кто-нибудь сказал мне, в чем проблема?
let rec sort (l: int list) : int list =
match l with
[]->[]
| x::[]->[x]
| x1::x2::xs->let rec insert (n,dest) =
match dest with
[]->[n]
| y::[]-> if n<y then [n;y] else [y;n]
| y1::y2::ys-> if y1<y2 then n::dest else y2::insert(y1,xs)
in insert(x1,sort(x2::xs)) ;;
Ваш совет является совершенным. Большое вам спасибо Джеффри. –