Java 代码实现数组元素交换 - 算法练习
Java 代码实现数组元素交换
本代码示例展示了如何使用 Java 代码实现数组元素交换,具体要求是将数组中最大元素与第一个元素交换,最小元素与最后一个元素交换。代码包含详细注释,易于理解和学习。
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] numbers = input.split(" ");
int[] arr = new int[numbers.length];
// 将输入字符串转换为整型数组
for (int i = 0; i < numbers.length; i++) {
arr[i] = Integer.parseInt(numbers[i]);
}
// 找到最大元素和最小元素的下标
int maxIndex = 0;
int minIndex = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
// 交换最大元素与第一个元素
int temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
// 交换最小元素与最后一个元素
temp = arr[arr.length-1];
arr[arr.length-1] = arr[minIndex];
arr[minIndex] = temp;
// 输出交换后的数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
scanner.close();
}
}
代码说明:
- 使用
Scanner类读取用户输入的字符串。 - 使用
split()方法将字符串分割成以空格分隔的数字字符串数组。 - 使用循环遍历字符串数组,并将每个数字字符串转换为整数,存储到整型数组
arr中。 - 使用循环遍历
arr数组,找到最大元素和最小元素的下标。 - 使用临时变量
temp,将最大元素与第一个元素、最小元素与最后一个元素进行交换。 - 使用循环遍历
arr数组,输出交换后的结果。
示例输入:
2 9 0 10
示例输出:
10
9
2
0
代码特点:
- 代码简洁易懂,注释清晰,方便理解。
- 使用循环遍历数组,找到最大元素和最小元素,提高代码效率。
- 使用临时变量进行元素交换,保证代码逻辑清晰。
学习建议:
- 尝试修改代码,实现其他类型的数组元素交换,例如将数组中第二大的元素与第一个元素交换。
- 尝试使用其他方法实现数组元素交换,例如使用
Arrays.sort()方法排序数组,然后交换排序后的第一个和最后一个元素。 - 尝试将代码封装成一个函数,方便重复使用。
原文地址: https://www.cveoy.top/t/topic/pbnv 著作权归作者所有。请勿转载和采集!