Итак, я должен выполнить эту задачу
перестановка: 'список списка -> список int -> int список ->' список списка =
, который занимает квадрат n × Матрица n представлена в виде списка списков в качестве первого параметра и возвращает матрицу со строками в порядке, заданном списком целых чисел в качестве второго параметра, и столбцами в порядке, заданном списком целых чисел в качестве третьего параметра. Каждый второй и третий параметр представляют перестановку первых n чисел.
Пример: перестановка [[1; 2; 3]; [4; 5; 6]; [7; 8; 9]] [ 2; 3; 1] [1; 3; 2] ;; -: int = [[4; 6; 5]; [7; 9; 8]; [1; 3; 2]]
Пока мой код такой:
let fun a i =
let elem id = List.nth a (id-1) in
List.map elem i
Это работает как список, но мне нужно, чтобы он работал как список списков. Любая помощь будет оценена.