¿Cuál es la forma estándar de insertar un elemento en una posición específica en una lista en OCaml. Solo se permite la recursión. No se permite ninguna operación de asignación.OCaml inserta un elemento en la lista
Mi objetivo es comprimir un gráfico en ocaml eliminando vértices con in_degree = out_degree = 1. Por esta razón, necesito eliminar los bordes adyacentes para hacer un solo borde. Ahora los bordes están en una lista [(6,7); (1,2); (2,3); (5,4)]. Entonces necesito eliminar esos bordes de la lista y agregar un solo borde. , por lo que la lista anterior ahora se verá como [(6,7); (1,3); (5,4)]. Aquí vemos (1,2); (2,3) se elimina y (1,3) se inserta en la segunda posición. He ideado un algoritmo para esto. Pero para hacer esto necesito saber cómo puedo eliminar los bordes (1,2); (2,3) de la posición 2,3 e insertar (1,3) en la posición 2 sin ninguna variable explícita y de forma recursiva.
Sugeriría, si es posible, abandonar la lista y usar una estructura de datos 'Set'. – nlucaroni
"Solo se permite la recursión", "sin ninguna variable explícita" - suena a algún tipo de tarea ... ¿o sí? – lambdapower
sí, es parte de una tarea, pero no pedí la solución al problema de la tarea. Ideé un algoritmo y para usar ese algoritmo necesité hacer esta operación en la lista. Eso fue lo que pregunté. Mi tarea era comprimir gráficos en ocaml. Aquí no estoy preguntando sobre ese problema. Estoy preguntando sobre la lista. –