java与javascript实现数组翻转功能、模拟指针、思路


版本一

思路

已知一个数组arr = {11, 22, 33, 44, 55};用程序实现把数组中的元素值交换,
交换后的数组arr = {55, 44, 33, 22, 11};并在控制台输出交换后的数组元素。
1、确定好谁跟谁换
第一个和倒数第一个: arr[0] arr[arr.length-1-0]
第二个和倒数第二个: arr[1] arr[arr.length-1-1]
第三个和倒数第三个: arr[2] arr[arr.length-1-2]

arr[i] arr[arr.length-1-i]
2、定义三方变量,套入公式


java

package Preverse;

public class reverse {
    
    
    public static void main(String[] args) {
    
    
        int[] arr = {
    
    11, 22, 33, 44, 55};
        reverse(arr);
    }

    public static void reverse(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;
        }

        for (int i = 0; i < arr.length; i++) System.out.println(arr[i]);
    }
}

javascript

function reverseF(arr) {
    
    
	for (let i = 0; i < arr.length / 2; i++) {
    
    
		let temp = arr[i];
		
		arr[i] = arr[arr.length - 1 - i];
		arr[arr.length - 1 - i] = temp;
	}
	
	// (6) [7, 50, 86, 68, 36, 68]
	console.log(arr);
}

reverseF([68, 36, 68, 86, 50, 7]);

版本二

思路

模拟指针。


java

package Preverse;

public class reverse {
    
    
    public static void main(String[] args) {
    
    
        int[] arr = {
    
    11, 22, 33, 44, 55};
        reverse(arr);
    }

    public static void reverse(int[] arr) {
    
    
        for (int start = 0, end = arr.length - 1; start < end; start++, end--) {
    
    
            int temp = arr[start];

            arr[start] = arr[end];
            arr[end] = temp;
        }

        for (int i = 0; i < arr.length; i++) System.out.println(arr[i]);
    }
}

javascript

function reverseF(arr) {
    
    
	for (let start = 0, end = arr.length - 1; start < end; start++, end--) {
    
    
		let temp = arr[start];
		
		arr[start] = arr[end];
		arr[end] = temp;
	}
	
	// (6) [7, 50, 86, 68, 36, 68]
	console.log(arr);
}

reverseF([68, 36, 68, 86, 50, 7]);

猜你喜欢

转载自blog.csdn.net/weixin_51157081/article/details/131867814