Я должен реализовать своего рода массив, последовательность или список, который поддерживает самый дешевый способ пересылки и обратной обмотки элементов. Смотрите этот пример:
Original sequence: 1 2 3 4 5
Forwarded once: 5 1 2 3 4
Forwarded twice: 4 5 1 2 3
То же самое, но противоположное для обратной обмотки. Какой самый дешевый и самый Scala-стиль способ реализации этого? В Java я мог бы использовать LinkedList, и это было бы здорово ... Однако я не смог найти какой-либо определенный ответ для Scala.
Кроме того, любой элемент должен быть легко заменен индексом, как в LinkedList.
UPDATE:
Для самого быстрого, но не очень идиоматического варианта алгоритма (вы знаете, когда он вам нужен), обратитесь к ответу Петра Пудлака !!!