输入代码
int[] arr = {6,2,9,15,1,5,20,7,18};
int maxIndex = getMaxOrMinIndex(arr, true); // 获取最大值索引
int minIndex = getMaxOrMinIndex(arr, false); // 获取最小值索引
printArr(arr, maxIndex, minIndex); }
public static void printArr(int[] arr, int maxIndex, int minIndex) {
int temp = arr[maxIndex];
temp = arr[0]; // 交换最小元素
arr[0] = arr[minIndex];
arr[minIndex] = temp;
swap(arr,maxIndex,arr.length-1);
swap(arr,minIndex,0);
for (int i : arr) { // 遍历数组输出
System.out.print(i + " ");
}
}
public static void swap(int[] arr,int i,int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static int getMaxOrMinIndex(int[] arr, boolean flag) {
// 假设数组的第一个元素为最值
int index = 0;
for (int i = 0; i < arr.length; i++) { // 遍历数组
if (flag) { // 最大值
if (arr[index] < arr[i]) {
index = i;
}
} else {
if (arr[index] > arr[i]) { // 最小值
index = i;
}
}
}
return index; // 返回最值索引
}
}