public static void changeMinMax(double[] array) {
if (array.length == 0)
throw new IllegalArgumentException("Массив нулевой длины!");
int min = 0;
int max = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] > max)
max = i;
if (array[i] < min)
min = i;
}
double tmp = array[max];
array[max] = array[min];
array[min] = tmp;
}
Хотел выпендирться и написать замену через XOR, но потом осознал что она работает только с int'ами)
public static double[] swapMinMax(double... values)
{
if (values.length == 0)
throw new IllegalArgumentException("data is empty");
int mini = 0;
int maxi = 0;
for (int i = 1; i < values.length; i++)
{
mini = values[i] < values[mini] ? i : mini;
maxi = values[i] > values[maxi] ? i : maxi;
}
double tmp = values[maxi];
values[maxi] = values[mini];
values[mini] = tmp;
return values;
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Хотел выпендирться и написать замену через XOR, но потом осознал что она работает только с int'ами)
Ради извращения, если без tmp?)