欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java学习心得 5 数组中涉及的常见算法---杨辉三角,二分法查找部分

程序员文章站 2022-04-30 22:49:08
...

数组中涉及的常见算法

  1. 数组元素的赋值(杨辉三角等)
  2. 求数值型数组中元素的最大值、最小值、平均数、总和等
  3. 数组的复制、反转、查找(线性查找、二分法查找)
  4. 数组元素的排序算法

杨辉三角
思想:打印空格字符串

public class YangHuiSanJiao {
	public static void main(String[] args) {
		int rows = 10;
		for(int i = 0;i < rows;i++) {
			int number = 1;
			//打印空格字符串
			System.out.format("%"+(rows-i)*2+"s","");
			for(int j = 0;j <= i;j++) {
				System.out.format("%4d", number);
				number = number * (i - j) / (j + 1);
			}
			System.out.println();
		}
	}
}

结果展示
java学习心得 5 数组中涉及的常见算法---杨辉三角,二分法查找部分
二分法查找算法
思想:折中的查找元素

public class ErFenFaChaZhao {
	public static void main(String[] args) {
		int[] arr = new int[]{-99,-54,-2,0,2,33,43,256,999};
		boolean isFlag = true; 
//		int number = 256; 
		int number = 25; 
		int head = 0;//首索引位置 
		int end = arr.length - 1;//尾索引位置 
		while(head <= end){ 
		    int middle = (head + end) / 2; 
		    if(arr[middle] == number){ 
		        System.out.println("找到指定的元素,索引为:" + middle); 
		        isFlag = false; 
		        break; 
		    }else if(arr[middle] > number){ 
		        end = middle - 1; 
		    }else{//arr3[middle] < number 
		        head = middle + 1; 
		    } 
		} 
		if(isFlag){
		     System.out.println("未找到指定的元素"); 
		 }
	}
}

结果展示
java学习心得 5 数组中涉及的常见算法---杨辉三角,二分法查找部分