Форум программистов, компьютерный форум CyberForum.ru

Циклический сдвиг массива на k элементов - C++

Восстановить пароль Регистрация
 
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
23.04.2014, 18:04     Циклический сдвиг массива на k элементов #1
Всем привет!
Задали задачу написать программу циклического сдвига массива на k элементов, k<n.
Но фишка в том, что нужно решение быстрее чем за k сдвигов на 1(так же устроена функция rotate на сколько я помню)
Подкиньте пару идей. Интересует скорее не код, а сам подход. Поиск не помог.
Прошу прощения если я криворукий и не нашел.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
23.04.2014, 18:12     Циклический сдвиг массива на k элементов #2
можно в 3 шага:
если к примеру нужно сдвинуть 1 2 3 4 5 на 2 вправо
1) запоминаем 1 2 3 в память
2) двигаем 4 5 в начало
3) пишем 1 2 3 в конец

memmove в С, не знаю будет ли это быстрее.
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
23.04.2014, 18:20  [ТС]     Циклический сдвиг массива на k элементов #3
OstapBender, попробую, но надеюсь есть какой-нибудь классный алгоритм)
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
23.04.2014, 18:24     Циклический сдвиг массива на k элементов #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от EzCoding Посмотреть сообщение
но надеюсь есть какой-нибудь классный алгоритм)
четыре штуки предложили только в этой теме
Функция сдвига массива

Добавлено через 55 секунд
Цитата Сообщение от OstapBender Посмотреть сообщение
можно в 3 шага:
а сколько в шагах подшагов?
Yandex
Объявления
23.04.2014, 18:24     Циклический сдвиг массива на k элементов
Ответ Создать тему
Опции темы

Текущее время: 18:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru