Перестановка наоборот (инверсия)

Инверсия (от английского inverse – обратный) – это такая перестановка, когда первый

элемент становится последним, второй – предпоследним и т.д.

 

Эта простая задача имеет один подводный камень. Пусть размер массива N. Тогда элемент

A[0]надо переставить с A[N-1], A[1]с A[N-2]и т.д. Заметим, что в любом случае сумма

индексов переставляемых элементов равнаN-1, поэтому хочется сделать цикл от 0до N-1, в котором переставить элементы A[i]с A[N-1-i]. Однако при этом вы обнаружите, что массив не изменился. Обратим внимание, что перестановка затрагивает одновременно и первую, и вторую половину массива. Поэтому сначала все элементы будут переставлены правильно, а затем (когдаi> N/2) будут возвращены на свои места. Правильное решение – делать перебор, при котором переменная цикла доходит только до середины массива.

 








Дата добавления: 2015-10-05; просмотров: 571;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.