> -- Madzi писал(а):
> Есть две ячейки памяти А и Б, зачем менять содержимое этих ячеек, если можно просто использовать далее вместо А, Б, а  вместо Б, А? С точки зрения компьютера - это бесполезная трата ресурсов.Менять нужно, поскольку результатом является отсортированная последовательность значений, хранящихся в ячейках. Можно, конечно, сортировать не значения, а индексы ячеек памяти, но сути это не меняет, поскольку в данном случае значениями будут индексы.

Да, замену присваиваний на XOR не предлагать... это не оптимизация, а трюк, хотя и красивый
## Код:
```
t := a[i];
a[i] := a[j];
a[j] := t;
```
Для целых чисел равносильно (если не считать исчезновения локальной переменной t):## Код:
```
a[i] := a[i] xor a[j];
a[j] := a[i] xor a[j];
a[i] := a[i] xor a[j];
```
