Java初学——数组的反转和查找

1. 数组的反转

String[] arr=new String[] {"AA","BB","CC","DD","EE","FF"};
		//数组的反转
		for(int i=0,j=arr.length-1;i<j;i++,j--) {
			String temp=arr[i];
			arr[i]=arr[j];
			arr[j]=temp;
		}
		
		//遍历
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]+"\t");
		}

运行结果如下:
在这里插入图片描述

2. 数组的线性查找

String[] arr=new String[] {"AA","BB","CC","DD","EE","FF"};
//线性查找
		String desc="BB";
		//String desc="SS";
		boolean isFlag=true;
		for(int i=0;i<arr.length;i++) {
			if(desc.equals(arr[i])) {
				System.out.println("找到了指定元素,位置为:"+i);
				isFlag=false;
				break;
			}
		}
		if(isFlag) {
			System.out.println("很遗憾,没有找到!");
		}

运行结果如下:
在这里插入图片描述

3. 数组的二分查找

//二分查找:要求此数组必须是有序的。
		int[] arr3 = new int[]{2,5,7,8,10,15,18,20,22,25,28};
		int desc1=18;
		//desc1=2345;
		int head=0;//首索引位置
		int end=arr3.length-1;//尾索引位置
		boolean isflag=true;
		while(head<=end) {
			int middle=(head+end)/2;
			if(desc1==arr3[middle]) {
				System.out.println("找到了指定元素,位置为:"+middle);
				isflag=false;
				break;
			}else if(desc1<arr3[middle]) {
				end=middle-1;
			}else {
				head=middle+1;
			}
		}
		if(isflag) {
			System.out.println("很遗憾,没有找到!");
		}	

运行结果如下:
在这里插入图片描述
图解说明:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值