数组指定元素交换
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
先查找最大值和最小值出现的索引。
public static void main(String[] args) {
int[] arr = { 6, 2, 9, 15, 1, 5, 20, 7, 18 };
int maxIndex = 0;
int minIndex = 0;
int max = arr[0];
int min = arr[0];
// 找到最大值、最小值索引位置
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
maxIndex = i;
}
if (min > arr[i]) {
min = arr[i];
minIndex = i;
}
}
// i等于索引时,进行数字交换
for (int i = 0; i < arr.length - 1; i++) {
if (i == maxIndex) {
int temp = arr[i];
arr[i] = arr[arr.length - 1];
arr[arr.length - 1] = temp;
}
if (i == minIndex) {
int temp = arr[i];
arr[i] = arr[0];
arr[0] = temp;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
还没有评论,来说两句吧...