|
|
|
§ 8. Структурированные типы данных. Массивы
Перестановка всёх элементов массива в обратном порядкеПример 10. Перестановка всех элементов массива а[1..n] в обратном порядке сводится к тому, что меняются местами первый и последний элементы, второй и предпоследний элементы и т. д. Перестановка нашего массива из семи элементов даст такой результат:
В общем случае, меняются местами элементы a[i] и а[n - i + 1]. Вспомним, как можно произвести обмен значений между двумя переменными. Выполнение операторов: а[1]:=а[n]; а[n]:=а[1]; к желаемому результату не приводит. Самый простой вариант — использование вспомогательной переменной:
Выясним, сколько всего операций обмена следует произвести. Если произведена перестановка, например, первого и последнего элементов, то одновременно произведена и перестановка последнего и первого элементов. Таким образом, если число элементов массива чётное, то достаточно произвести n/2 операций обмена. Но что происходит, если массив содержит нечётное число элементов? Например, в нашем массиве из семи элементов выполнялось три обмена, а четвёртый элемент, занимающий центральную позицию, оставался на своём месте. В общем случае число операций обмена при перестановке в обратном порядке всех п элементов массива определяется как n div 2. В общем случае, фрагмент программы по перестановке в обратном порядке всех элементов массива а[1..n] имеет вид:
Запишите полный текст программы и выполните её на компьютере для рассмотренного выше массива а, состоящего из семи и из шести элементов.
|
|
|