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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
#1

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

23.04.2014, 18:04. Просмотров 581. Ответов 3
Метки нет (Все метки)

Всем привет!
Задали задачу написать программу циклического сдвига массива на k элементов, k<n.
Но фишка в том, что нужно решение быстрее чем за k сдвигов на 1(так же устроена функция rotate на сколько я помню)
Подкиньте пару идей. Интересует скорее не код, а сам подход. Поиск не помог.
Прошу прощения если я криворукий и не нашел.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 18:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклический сдвиг массива на k элементов (C++):

Циклический сдвиг элементов массива - C++
Циклический сдвиг элементов массива на k позиций влево, вправо.

Циклический сдвиг элементов массива - C++
Здравствуйте, подскажите пожалуйста почему в 57 строке происходит эта ошибка: error: invalid types 'int' for array subscript ...

Циклический сдвиг элементов массива - C++
26. Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, циклический сдвигает элементы массива вправо на к позиции,...

Циклический сдвиг элементов массива - C++
Дан массив размера N и число k(0&lt;k&lt;5,K&lt;n) Осуществить циклический сдвиг элементов массива влево 1 вправо2 на k позициии

Циклический сдвиг элементов массива - C++
1. Дана матрица размера 5 x 10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего только положительные элементы. Если таких...

Циклический сдвиг элементов массива - C++
Помогите с заданием, оно на изображении

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
23.04.2014, 18:12 #2
можно в 3 шага:
если к примеру нужно сдвинуть 1 2 3 4 5 на 2 вправо
1) запоминаем 1 2 3 в память
2) двигаем 4 5 в начало
3) пишем 1 2 3 в конец

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

Добавлено через 55 секунд
Цитата Сообщение от OstapBender Посмотреть сообщение
можно в 3 шага:
а сколько в шагах подшагов?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 18:24
Привет! Вот еще темы с ответами:

Осуществить циклический сдвиг массива на N элементов - C++
Осуществить циклический сдвиг массива на N элементов, направление указывает пользователь. Была идея как осуществить, но начать...

Указатели: циклический сдвиг элементов массива - C++
помогите пожалуйста написать программу организовать введение данных в массив, обработку элементов и вывод результатов, используя...

Циклический сдвиг элементов массива влево - C++
Совершить циклический сдвиг элементов массива влево так, чтобы первый максимальный элемент был на K-месте ( K- вводиться с клавиатуры)

Циклический сдвиг элементов одномерного массива - C++
доброго времени суток! помогите составить две функции одну для циклического сдвига элементов одномерного массива на К позиций, а вторую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2014, 18:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru