Написал пример для конкретного случая из двух массивов
//: Playground - noun: a place where people can play
import UIKit
let input = [[5, 1, 3], [1, 2, 7]]
let output = [[1, 3, 5], [2, 7, 1]]
// ---------
var result = input
if let firstArray = result.first, var secondArray = result.last {
// Сортируем первый массив
let firstOutput = firstArray.sorted()
// Создаем копию второго массива, которую будем изменять в процессе перестановки
var secondOutput = secondArray
for i in 0..<firstArray.count {
// Значение элемента до сортировки
let value = firstArray[i]
// Получаем позицию после сортировки
if let after = firstOutput.index(of: value) {
// Записываем изменения во второй массив
secondOutput[after] = secondArray[i]
}
}
// Перезаписываем результат
result = [firstOutput, secondOutput]
}
print(result)