数组元素逆序的三种方式
- 通过中间变量来交换位置
- 通过两数相加减一个来交换位置
- 将冒泡排序法的条件判断取消
欢迎大佬指点一二
//自定义数组,将数组中的元素进行逆序
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]);
}
}
}
本文介绍三种数组逆序的方法:使用中间变量交换、通过两数相加减实现交换,以及利用冒泡排序法去除条件判断实现逆序。同时,提供了一个冒泡排序的示例,展示了如何对数组进行排序。
204

被折叠的 条评论
为什么被折叠?



