Для перестановки двух элементов массива x[] с индексами k и m, необходимо использование дополнительной переменной (tmp), для хранения копии одного из элементов (рисунок 2.3 а), но можно обойтись и без использования дополнительной переменной tmp. В этом случаи алгоритм перестановки имеет следующий вид (рисунок 2.3 б).
В большинстве случаев предпочтительнее использовать первый способ, поскольку он не содержит дополнительных вычислений, что особенно важно при перестановке вещественных чисел.
tmp=x[k]; x[k]=x[m]; x[m]=tmp; | x[k]=x[k]+x[m]; x[m]=x[k]-x[m]; x[k]=x[k]-x[m]; | ||
(а) | (б) |
Рисунок 2.3 Алгоритм и фрагмент программы перестановки двух элементов массива c использованием дополнительной
переменной (а) и без нее (б)