33.將數組中最大的與第一個元素交換, 最小的與最後一個元素交換

編程題目:

33.輸入數組,最大的與第一個元素交換, 最小的與最後一個元素交換,輸出數組。

示例代碼:

package program.calculation.exercise33;

/**
 * 33.輸入數組,最大的與第一個元素交換, 最小的與最後一個元素交換,輸出數組。
 */

public class ElementSwap {
	public static void main(String[] args) {
		
		int[] arr = {1,3,5,7,9,2,4,6,8};
		
		System.out.println("數組元素交換前順序:");
		printArr(arr);
		
		swapElement(arr);
		
		System.out.println("\n數組元素交換後順序:");
		printArr(arr);
		
	}

	//交換數組元素
	private static void swapElement(int[] arr) {
		
		int[] tempArr = new int[arr.length];
		
		//將數組arr複製到數組tempArr
		for(int i=0;i<arr.length;i++){
			tempArr[i] = arr[i];
		}
		
		bubbleSoprt(tempArr);
		
		for(int i=0;i<arr.length;i++){
			if(arr[i] == tempArr[tempArr.length-1]){
				int temp = arr[0];
				arr[0] = arr[i];
				arr[i] = temp;
			}
			if(arr[i] == tempArr[0]){
				int temp = arr[arr.length-1];
				arr[arr.length-1] = arr[i];
				arr[i] = temp;
			}
		}
		
	}

	//冒泡排序,找出最大值和最小值
	private static void bubbleSoprt(int[] arr) {
		
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr.length-i-1;j++){
				if(arr[j] > arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
		
	}

	//遍歷數組
	private static void printArr(int[] arr) {
		
		for(int n : arr){
			System.out.print(n+" ");
		}
		
	}
}

結果顯示:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章