Что ' {int t = a [x]; а [х] = а [у]; а [у] = т; } Почему бы просто не реализовать это так: void ...
В некоторых статьях и тестах comp-sci я вижу, что swap () реализован следующим образом:
void swap(int x, int y, int *a)
{
int t = a[x];
a[x] = a[y];
a[y] = t;
}
Почему бы просто не реализовать это так:
void swap(int& x, int& y)
{
int t = x;
x = y;
y = t;
}
Является ли идея первого сделать вызывающий код более чистым, не индексируя массив для первых двух аргументов? Я понимаю, что это не очень важный вопрос, поскольку мы должны использовать std :: swap (), но мне все еще любопытно.