- Código: Seleccionar todo
void xorSwap (int *x, int *y)
{
if (x != y) {
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
}
Está hasta en Wikipedia, es un clásico. Normalmente uno tiene que usar una variable temporánea (en el caso más general, un void*, supongo). Pero en los lenguajes que soportan la operación XOR (todos, espero. No, no quiero saber con mucha urgencia de los que no lo hacen) uno se evita la molestia.