Я хотел бы получить все перестановки пар символов в строке с заменой. Например:
Базовая строка: abcd
Комбинация:
bacd
acbd
abdc
и т.д.
Редактировать
Я хочу поменять местами только буквы, которые находятся рядом друг с другом. Как первый со вторым, второй с третьим, но не третий с шестым.
Какой лучший способ сделать это?
Редактировать
Просто для удовольствия: есть три или четыре решения, может кто-нибудь опубликовать тест скорости, чтобы мы могли сравнить, какое из них самое быстрое?
Тест скорости
Я сделал тест скорости и кода Никфа и мой, и результаты таковы, что мой бьет по Никфу в четыре буквы (0,08 и 0,06 по 10K раз), но Никф бьет по 10 букв (0,24 Ника и 0,37 мой) *