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");
		}

运行结果如下:
Java初学——数组的反转和查找_第1张图片

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("很遗憾,没有找到!");
		}

运行结果如下:
Java初学——数组的反转和查找_第2张图片

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("很遗憾,没有找到!");
		}	

运行结果如下:
Java初学——数组的反转和查找_第3张图片
图解说明:
Java初学——数组的反转和查找_第4张图片

你可能感兴趣的:(java,算法)