数组元素逆序的两(划掉)三种方式

mac2025-12-05  9

数组元素逆序的三种方式

通过中间变量来交换位置通过两数相加减一个来交换位置将冒泡排序法的条件判断取消 欢迎大佬指点一二 //自定义数组,将数组中的元素进行逆序 public class test02 { public static void main(String[] args) { int arr[] = {2, 32, 12,89}; niXu(arr); printArr(arr); } /* public static void niXu(int arr[]) { for (int i = 0; i < arr.length / 2; i++) { int temp = arr[i]; arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=temp; } } //通过中间变量来交换位置 */ public static void niXu(int arr[]) { for (int i = 0; i < arr.length / 2; i++) { arr[i] = (arr[arr.length-i-1]) + arr[i]; (arr[arr.length-i-1])=arr[i]-(arr[arr.length-i-1]); arr[i]= arr[i]- (arr[arr.length-i-1]); } } //通过两数相加减一个来交换位置 public static void printArr(int arr[]){ for (int x =0;x<arr.length;x++){ System.out.println(arr[x]); } } }

突然发现将冒泡的if判断注释掉,也可以完成逆序,只是稍微麻烦了点而已.

//. 编写程序,已知数组int[] arr = {43,65,3,6,76},分别数组中所有数据和以及将数值中的元素进行冒泡排序(全部使用方法调用完成) public class test01 { public static void main(String[] args) { int arr[] = {43, 65, 3, 6, 76}; maoPao(arr); printArr(arr); } public static void maoPao(int arr[]) { for (int i = 0; i < arr.length - 1; i++) { for (int j =0;j<arr.length-1-i;j++){ //if (arr[j]>arr[j+1]){ arr[j] = arr[j]+arr[j+1]; arr[j+1] = arr[j]-arr[j+1]; arr[j]=arr[j]-arr[j+1]; // } } } } public static void printArr(int arr[]){ for (int x =0;x<arr.length;x++){ System.out.println(arr[x]); } } }
最新回复(0)