复习题四

本文详细介绍了Java中数组反转的两种方法,包括直接交换元素位置的循环方式和使用额外数组的复制方式,提供了完整的代码实现及注释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package 复习题;

public class 复习题四 {

	/**
	 * @定义一个函数,将数组中所有元素反转。例如:{1, 2, 3} 反转后为 {3, 2, 1}。
	 */
	public static void main(String[] args) {
		// 创建一个数组
		int array[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
		//调用反转数组的方法将数组反转
		reverseArray(array);
		//输出反转以后的数组
		printArray(array);
	}
	/*
	 *思路:
	 *	把数组最后一个元素与第一个元素交换,倒数第二个元素与第二个元素交换,依次类推.直到把所有数组中的元素反转替换 
	 * 	反转排序是对数组两边的元素进行替换,所以只需要循环数组长度的半数,如:数组的长度为7,只需要循环3次,就可以了
	 * */
	static void reverseArray(int arr[]) {  				//数组的反转排序
		for (int i = 0; i < arr.length / 2; i++) {		//循环length/2次,每次交换数组中的元素
			int temp = arr[i];
			arr[i] = arr[arr.length - 1 - i];
			arr[arr.length - 1 - i] = temp;

		}
	}
	
	//反转数组中的元素,并创建一个新的数组,对新数组进行赋值,将新数组的结果输出
	static void reverseArray1(int arr[]){
			int a [] = new int [arr.length];
			//计数器思想
			int count =0;
			for (int i = arr.length - 1; i >= 0; i--){
				a[count]=arr[i];
				count ++;
			}
			System.out.print("[");
			for(int i =0;i<a.length;i++){				//遍历数组中的每个元素
				//判断角标是不是最大角标,如果不是就打印元素和逗号,如果是就打印元素和"]"号
				if(i!=a.length-1)
				System.out.print(a[i]+",");
				else {
				System.out.print(a[i]+"]");
				}
			}
		}
	
	static void printArray(int arr[]) { 			// 输出数组的方法
		System.out.print("{"); 						// 首次打印左边中括号
		for (int i = 0; i < arr.length; i++) { 		// 遍历数组的角标
			if (i != arr.length - 1) {				// 如果角标不是最后一位角标,就打印元素和逗号
				System.out.print(arr[i] + ", ");
			} else { 								// 否则(角标是最后一位角标),就打印元素并继续打印右边中括号
				System.out.print(arr[i] + "}");
			}
			//把上面的if .. else语句可以改写成下面的三元运算符形式
			//System.out.print(i==arr.length-1?arr[i]+"}":arr[i]+",");
		}
	}
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值