欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java_输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

程序员文章站 2022-04-08 17:57:47
...
package t20;

import java.util.Arrays;

//输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组.
public class Test {
	public static void main(String[] args) {
		int[] arr= {1,2,3,5,4};
		System.out.println(Arrays.toString(exchange(arr)));
	}
	
	public static int[] exchange(int[] arr) {
		int maxIndex=0;
		int minIndex=0;
		for(int i=0;i<arr.length;i++) {
			if(arr[maxIndex]<arr[i]) {
				maxIndex=i;
			}
			if(arr[minIndex]>arr[i]) {
				minIndex=i;
			}
		}
		//最大元素为最后一个元素,最小元素为第一个元素
		if(maxIndex==arr.length-1&&minIndex==0) {
			swap(arr, 0, arr.length-1);
			return arr;
		}
		//最小元素为第一个,最大元素不为最后一个
		if(minIndex==0) {
			swap(arr, 0, arr.length-1);
			swap(arr, 0, maxIndex);
			return arr;
		}
		swap(arr, 0, maxIndex);
		swap(arr, arr.length-1, minIndex);
		return arr;
	}
	
	private static void swap(int[] arr,int index1, int index2) {
		int temp=arr[index1];
		arr[index1]=arr[index2];
		arr[index2]=temp;
	}
}

相关标签: java 算法