OCaml вставляет элемент в список

Каков стандартный способ вставки элемента в определенную позицию в списке в OCaml. Разрешена только рекурсия. Никакие операции присваивания не разрешены.

Моя цель - сжать граф в ocaml, удалив вершины с in_degree = out_degree = 1. По этой причине мне нужно удалить смежные края, чтобы получилось одно ребро. Теперь ребра находятся в списке [(6,7); (1,2); (2,3); (5,4)]. Поэтому мне нужно удалить эти края из списка и добавить одно ребро. поэтому приведенный выше список теперь будет выглядеть как [(6,7); (1,3); (5,4)]. Здесь мы видим (1,2); (2,3) удалено, а (1,3) вставлено во вторую позицию. Я придумал для этого алгоритм. Но для этого мне нужно знать, как удалить края (1,2); (2,3) из позиции 2,3 и вставить (1,3) в позицию 2 без какой-либо явной переменной и рекурсивным образом.

6
задан pad 26 March 2012 в 18:38
поделиться