public class Find {
//二维数组中查找数字
public static boolean hasNumber(int[][] numbers, int rows, int columns, int number){
//输入验证
if (numbers == null || rows <= 0 || columns <= 0)
return false;
//始终选取右上角的数字进行比较
int row = 0;
int column = columns - 1;
while(row < rows && column >= 0){
//找到数字
if (numbers[row][column] == number)
return true;
//大于则排除列
else if (numbers[row][column] > number)
column--;
//小于排除行
else
row++;
}
return false;
}
//测试用例
public static void main(String[] args){
int[][] numbers = {{1, 2, 3},{4, 5, 6}};
System.out.println("该二维数组是否含有5:" + Find.hasNumber(numbers, 2, 3, 5));
System.out.println("该二维数组是否含有7:" + Find.hasNumber(numbers, 2, 3, 7));
System.out.println("该二维数组是否含有1:" + Find.hasNumber(numbers, 2, 3, 1));
System.out.println("该二维数组是否含有6:" + Find.hasNumber(numbers, 2, 3, 6));
}
}
二维数组中的查找(Java实现)
最新推荐文章于 2022-08-05 11:46:50 发布