CodeLAB
на главную карта сайта обратная связь

Популярные задачи:

#Как работать с zip архивами стандартными средствами windows. (43416 hits)
#Вычисление минимального / максимального значения. (75957 hits)
#Предварительная загрузка изображений. (48476 hits)
#Улучшение быстрой сортировки. (79379 hits)
#Динамическая очистка выпадающего списка (select) на javascript. (93223 hits)
#Сортировка Шелла, оптимальный выбор приращений. (198507 hits)
#Поверхностное клонирование. (28738 hits)
#Рисование линии. (39914 hits)
#Курсы валют. (69067 hits)
#Программное создание ссылок. (101149 hits)
#Просмотр изображения во всплывающем окне. (91357 hits)
#Хранение иерархических деревьев. (54408 hits)
#Летающие, крутящиеся шарики. (46010 hits)
#Добавление истории операций(undo&redo) в компонент. (41297 hits)
#Вычисление медианы заданной выборки. (50586 hits)
#ООП на javascript: классы, наследование, инкапсуляция. (260613 hits)
#Выборка конкретной записи из таблицы. (33917 hits)
#Относительный путь к файлу. (41125 hits)
#Простая геометрическая и текстовая анимация. (402218 hits)
#Бинарный поиск в массиве и его разновидности. (175952 hits)


Главная >> Каталог задач >> Строки >>

Переворот символов строки (или элементов одномерного массива)

Aвтор:
Дата:
Просмотров: 114373
реализации(C++: 1шт...) +добавить

Эта простенькая задача возникает иногда в более сложных алгоритмах.

Имеется, например, строка "qwerty". Нужно получить симметричное(зеркальное) отображение: "ytrewq"

Берем 2 индекса: начало и конец строки(одномерного массива). В цикле последовательно двигаем их друг к другу, меняя соответствующие элементы:

 псевдокод: переворот последовательности  ссылка
  1. for i = 0 to n - 1 && j = n-1 downto 0
  2. if i >= j
  3. return
  4.  
  5. tmp = str[i]
  6. str[i] = str[j]
  7. str[j] = tmp

Реализации:

C++(1), C#(3)   +добавить

1) Симметричное (зеркальное) отображение фрагмента строки на C++, code #563[автор:Sergey]