题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
代码如下:
public class Test {
public static void main(String[] args) {
int[] arr = new int[] { 2, 9, 1, 5, 4, 7 };
exchangeElement(arr);
showArray(arr);
}
/**
* 6.(算法) 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
*/
public static void exchangeElement(int[] arr) {
int max = 0;
int min = 0;
int len = arr.length;
for (int i = 1; i < len; i++) {
if (arr[i] > arr[max]) {
max = i;
}
if (arr[i] < arr[min]) {
min = i;
}
}
if (max != 0) {
int tmp = arr[0];
arr[0] = arr[max];
arr[max] = tmp;
if(min == 0) {
min = max;
}
}
if (min != len - 1) {
int tmp = arr[len - 1];
arr[len - 1] = arr[min];
arr[min] = tmp;
}
}
public static void showArray(int[] arr) {
int len = arr.length;
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
交换前:2, 9, 1, 5, 4, 7
交换后: