编程题目:
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+" ");
}
}
}