1.找出数组中最大的元素,放到下标为0的位置
package com.qf.test;
import java.util.Arrays;
import org.ietf.jgss.Oid;
public class Demo13 {
public static void main(String[] args) {
int[] arr = {1, 9, 11, 2};
change(arr);
}
public static void change(int [] arr) {
//找出数组中最大的元素,放到下标为0的位置 {11, 9, 1, 2}
//咱们借助于下标
int index = 0;//接收最大值的下标的一个变量
for (int i = 1; i < arr.length; i++) {
if (arr[index] < arr[i]) {
index = i;
}
}
System.out.println(index);// 2
// arr[0] 和arr[2] 交互位置
//定义一个中间变量
int temp = arr[index]; //int temp = 11
arr[index] = arr[0];// arr[2] = 1 {1,9,1,2}
arr[0] = temp;// arr[0] = 11 ==> {11, 9,1, 2}
System.out.println(Arrays.toString(arr));
}
}
2.在上一道题的基础上,不考虑下标为0的元素。 找出数组中剩余最大的元素,放到下标为1的位置
package com.qf.test;
import java.util.Arrays;
public class Demo15 {
public static void main(String[] args) {
int[] arr = {1, 2, 11, 9};
//找出数组中最大的元素,放到下标为0的位置 {11, 9, 1, 2}
//咱们借助于下标
int index = 0;//接收最大值的下标的一个变量
for (int i = 1; i < arr.length; i++) {
if (arr[index] < arr[i]) {
index = i;
}
}
System.out.println(index);// 2
// arr[0] 和arr[2] 交互位置
//定义一个中间变量
int temp = arr[index]; //int temp = 11
arr[index] = arr[0];// arr[2] = 1 {1,9,1,2}
arr[0] = temp;// arr[0] = 11 ==> {11, 9,1, 2}
System.out.println(Arrays.toString(arr));//[11, 2, 1, 9]
//不考虑下标为0的元素。 找出数组中剩余最大的元素,放到下标为1的位置
int index1 = 1;
for (int i = 2; i < arr.length; i++) {
if (arr[index1] < arr[i]) {
index1 = i;
}
}
System.out.println(index1);//3 arr[1] = arr[3] arr[3] = arr[1]
int temp1 = arr[index1];
arr[index1] = arr[1];
arr[1] = temp1;
System.out.println(Arrays.toString(arr));
int index2 = 2;
for (int i = 3; i < arr.length; i++) {
if (arr[index2] < arr[i]) {
index2 = i;
}
}
System.out.println(index2);//3 arr[1] = arr[3] arr[3] = arr[1]
int temp2 = arr[index2];
arr[index2] = arr[2];
arr[2] = temp2;
System.out.println(Arrays.toString(arr));
}
}
已学废,谢谢~