输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组用java写出来
时间: 2023-09-03 14:04:52 浏览: 87
### 回答1:
public static void swap(int[] arr) {
int max = arr[0];
int min = arr[arr.length-1];
int maxIndex = 0;
int minIndex = arr.length-1;
for(int i=1; i<arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
maxIndex = i;
}
if(arr[i] < min) {
min = arr[i];
minIndex = i;
}
}
int temp = arr[0];
arr[0] = max;
arr[maxIndex] = temp;
temp = arr[arr.length-1];
arr[arr.length-1] = min;
arr[minIndex] = temp;
}
### 回答2:
以下是使用Java语言编写的实现代码:
```java
public class ArraySwap {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 7, 3}; // 输入数组
int maxIndex = getMaxIndex(arr); // 获取最大值的索引
int minIndex = getMinIndex(arr); // 获取最小值的索引
swap(arr, maxIndex, 0); // 最大值与第一个元素交换
swap(arr, minIndex, arr.length-1); // 最小值与最后一个元素交换
// 输出交换后的数组
for(int num : arr) {
System.out.print(num + " ");
}
}
// 获取数组中最大值的索引
public static int getMaxIndex(int[] arr) {
int maxIndex = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
// 获取数组中最小值的索引
public static int getMinIndex(int[] arr) {
int minIndex = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}
// 交换数组中两个元素的位置
public static void swap(int[] arr, int index1, int index2) {
int temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
}
```
运行这段代码后,将会输出交换后的数组。
### 回答3:
可以使用以下的Java代码实现这个问题:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {5, 3, 9, 2, 1};
// 找到数组中的最大值和最小值的索引
int maxIndex = findMaxIndex(array);
int minIndex = findMinIndex(array);
// 交换最大值和第一个元素
swap(array, maxIndex, 0);
// 交换最小值和最后一个元素
swap(array, minIndex, array.length - 1);
System.out.println(Arrays.toString(array));
}
// 找到数组中的最大值的索引
public static int findMaxIndex(int[] array) {
int maxIndex = 0;
int maxValue = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > maxValue) {
maxIndex = i;
maxValue = array[i];
}
}
return maxIndex;
}
// 找到数组中的最小值的索引
public static int findMinIndex(int[] array) {
int minIndex = 0;
int minValue = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
}
// 交换数组中两个元素的位置
public static void swap(int[] array, int index1, int index2) {
int temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
```
运行以上代码,输出将会是 `[1, 3, 9, 2, 5]`。
阅读全文