已知整数数组a[],含有n定义一个10个元素的整数数组,写出对其进行折半查找的算法

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/


在一个二维数组中每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序请完成┅个函数,输入这样的一个二维数组和一个整数判断数组中是否含有该整数。

左下角(或者右上角) 开始和目标值比较如果相等,直接返回true查找成功;如果大于,则列值–;如果小于则二维索引++;如果当数组遍历到左上角(右下角),如果循环执行完毕则返回false。


//如果相等直接返回true //如果小于,二维索引++ //如果大于一位索引—- //循环能够执行完毕,直接返回false

为什么不能从左上角或者右小角开始遍历?

当从左上角开始遍历时当值和目标值比较,当小于时不能确定 是 一级索引 还是二级索引 ++;同理,当从右下角开始遍历时当值和目标值比较,当大于是不能确定是 一级索引还是二级索引 - -

常见对象(数组高级二分查找原理圖解)


* 二分查找  查找元素对应的索引

* 前提:数组元素有序


常见对象(数组高级二分查找代码实现及注意事项)
* 数组高级二分查找代码
* 如果数组无序就不能使用二分查找。

* 因为如果你排序了但是你排序的时候已经改变了我最原始的元素索引。


我要回帖

更多关于 定义一个10个元素的整数数组 的文章

 

随机推荐