Java入坟day06 双倍困难の二维数组(杨辉三角)(二分查找法)

2022-07-26,,,,

java入坟day06 双倍困难の二维数组杨辉三角)(二分查找法)

二维数组

变量 数组 二维数组
随着数据量的不断增大,我们需要更大的容器来装数据,这个时候,一维内存已经不足以满足所需,我们需要的是二维“平面”数组。画图分析。

第一个【】代表 的是:这个二维数组由几个一维数组构成,也是这个二维数组的长度
第二个【】代表 的是,构成这个二维数组的一维数组,它的长度是多少

1.二维数组的定义:

赋值:

二分查找法

定义一个有序数组,折半比较
注意,当只剩下最后两个元素时,如何避免死循环。

/*二分查找法,递归版*/
    private static void erfenchazhao2(int[] arr, int i,int start,int end) {
        int mid = (start+end)/2;
        if (i==arr[mid]){
            System.out.println("找到了,下标为"+mid);
            return;
        }
        else if (i>arr[mid]){
            start = mid+1;
        }
        else if (i<arr[mid]){
            end = mid-1;
        }
        if (start<=end){
            erfenchazhao2(arr,i,start,end);
        }else {
            System.out.println("找不到");
        }
    }
/*二分查找法循环*/
    private static void erfenchazhao(int[] arr,int X) {
        int start = 0,end = arr.length-1, mid = (start+end)/2;
        while (start<=end){
            if (X==arr[mid]){
                System.out.println("找到了,下标为"+mid);
                return;
            }
            else if (X>arr[mid]){
                start = mid+1;
            }
            else if (X<arr[mid]){
                end = mid-1;
            }
            mid = (start+end)/2;
        }
        System.out.println("找不到");
    }

杨辉三角形!!!!!!!!!!!

2.打印杨辉三角形(要求打印10行),如下所示:(使用二维数组)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

int[][] arr=new int[10][];
		for(int i=0;i<arr.length;i++) {
			arr[i]=new int[i+1];
		}
		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr[i].length;j++) {
				if(j==0 || i==j) {
					arr[i][j]=1;
				}else {
					arr[i][j]=arr[i-1][j]+aarr[i-1][j-1];
				}
			}
		}
		for(int i=0;i<arr.length;i++) {
			int num=(arr.length-i)/2;
			for(int k=0;k<=num;k++) {
				System.out.print("\t");
			}
			for(int j=0;j<arr[i].length;j++) {
				System.out.print(arr[i][j]+"\t");
			}
			System.out.println();
		}

博客最丑杨辉三角形

本文地址:https://blog.csdn.net/zyznb2/article/details/110826403

《Java入坟day06 双倍困难の二维数组(杨辉三角)(二分查找法).doc》

下载本文的Word格式文档,以方便收藏与打印。