вторник, 11 января 2011 г.

как поменять местами два элемента массива

Существует далеко не один способ поменять значения двух переменных.
Остановимся на самом простом. При этом в обмене будет участвовать третья
переменная. Вот как это будет выглядеть на С\С++:

int a = 10;
int b = 20;

пусть нужно поменять значения переменных a и b, для этого введем новую переменную
такого же типа (например как у нас int, т.е. целое)

int temp;

это сокращенное от английского temporary - т.е временное
ну а теперь магия:

temp = a;
a = b;
b = temp;

после этого значения этих переменных поменялись местами.

Теперь по сути вопроса: как поменять местами два элемента массива.
Отметим, что такая формулировка немного некорректна, местами то мы не меняем
сами элементы )), а только их значения. Итак допустим a[i] поменять с a[j].
Ничего нового, используем для этого все ту же третью переменную посредник:

int a[N];
...

где-то в программе наверняка данным в массиве присваиваются значения, опускаем этот
момент

...

int temp;

temp = a[i];
a[i] = a[j];
a[j] = temp;

все то же самое

Комментариев нет:

Отправить комментарий