算法的考查:数组的复制、反转、查找(线性查找)

算法的考查:数组的复制、反转、查找(线性查找)

题目描述:
算法的考查:数组的复制、反转、查找(线性查找)

解题思路:
1.复制(与数组变量的赋值区分开):
 需要新建一个数组(长度与原数组相同),然后遍历并对新数组中的元素挨个赋值;
2.数组的反转 (注意:是将原数组反转,而不是新建一个数组)
 引入临时变量temp即可,这是基本操作,不过for循环里i的范围要注意对应,索引是从0开始的
3.查找(线性查找):查找的方法很多,这里讲最笨的线性查找
 对数组进行遍历,然后判断是否相等,有两种方法,见程序

本题Java代码:

import java.util.Arrays;

/*
 * 算法的考查:数组的复制、反转、查找(线性查找、二分法查找)
 * 
 */
public class ArrayTest2 {
	public static void main(String[] args) {
		String[] arr = new String[] {"hyj", "hxc", "hdh", "wt", "wtl", "yhp"};
		
		//1.数组的复制(区别于数组变量的赋值:arr1 = arr)
		String[] arr1 = new String[arr.length];
		for(int i = 0;i < arr1.length;i++){
			arr1[i] = arr[i];
		}
		System.out.println();
		//2.数组的反转 (注意:是将原数组反转,而不是新建一个数组)
		String temp;
		for(int i = 0;i <= arr1.length/2-1;i++){
			temp = arr1[i];
			arr1[i] = arr1[arr1.length-1-i];
			arr1[arr1.length-1-i] = temp;	
		}
		System.out.println(Arrays.toString(arr1)); //将数组输出,也可使用遍历
		
		//3.查找(或搜索)
		//线性查找:
		//线性查找-方法一:
		String dest = "hxc";
		boolean isFlag = true; //用作标识,只有没找到才会输出
		for(int i = 0;i < arr.length;i++){
			if(dest.equals(arr[i])){
				System.out.println("哈哈哈,找到你啦,位置为:" + i);
				isFlag = false;
				break;
			}
		}
		if(isFlag){
			System.out.println("很遗憾,没有找到!");
		}
		System.out.println();
		
		//线性查找-方法二:
		String dest1 = "hx";
		for ( int i = 0; i < arr.length; i++) {
			if (dest1.equals(arr[i])) {
				System.out.print("哈哈哈哈哈哈,找到你啦,位置为:" + i);
				
				break;
			}
			if (i == arr.length-1) {  //这里length需要减1
				System.out.print("很遗憾,没有找到!");
			}
		}
		System.out.println();				
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值