天天看点

数组反转 索引

方法1:

public static void main(String[] args) {
	int [] arr = {21,12,43,54,23};//定义一个一位数组
	printArr(arr);//调用printArr()方法,输出打印 arr
           
//运用for循环实现头尾互换,注意:1:索引以0开始。2:设置一个参数,作为中介,实现反转
           
//也可以构造一个swap方法,设置参数(int[] arr,int index1,int index2 )该方法与以下
           
//循环类似,,不过需要调用swap方法
	for(int start = 0,end = arr.length-1;start<end;start++,end--){
		int temp = arr[start];
		arr[start] = arr[end];
		arr[end] = temp;  
	}
	System.out.println();
	printArr(arr);
	}
           
        //构造一个printArr方法,输出元素。
	static void printArr(int[] arr){
		for (int i=0;i<arr.length-1 ;i++ ){
			System.out.print(arr[i]+" ");
		}
	}
           

方法2:

//该方法参照网上
	public static void main(String[] args) {
		//定义一个一维数组
		int [] arr = {12,23,34,55,12,45};
		//计算num1/2数组长度,用以判定循环次数
		int num = arr.length/2;
		//for循环用来实现数组的反转,temp同上一个方法
		for (int i=0;i<num ;i++ ){
			int temp = arr[i];
			arr[i] = arr[arr.length-1-i];
			arr[arr.length-1-i] = temp;
		}
		System.out.println(Arrays.toString(arr));
		System.out.println();
		//给swap函数a,b的两个变量赋值,与main函数中的a,b其实无关,表示的是值的传递
        //在swap函数结束时,swap函数则被系统释放,因为swap函数是在栈内存中
		int a =10;
		int b = 21;
		swap(a,b);
		System.out.println("a="+a+","+"b="+b);
	}
	public static void swap(int num1,int num2){
		int temp = num1;
		num1 = num2;
		num2 = temp;
	}