- package per;
- public class Array1 {
- public int find(int searchKey, int[] array) {
- int lowBound = 0;
- int uppBound = array.length - 1;
- int curIndex;
- while (true) {
- curIndex = (lowBound + uppBound) / 2;
- if (array[curIndex] == searchKey) {
- return curIndex; //查找到数据,返回下标
- } else if (lowBound > uppBound) {
- break; //未查找到数据
- } else{
- if (array[curIndex] < searchKey) {
- lowBound = curIndex+1; //二分法 处于大的一半
- } else {
- uppBound = curIndex-1; //二分法 处于小的一半
- }
- }
- }
- return -1; //未找到则返回-1
- }
- }
数据结构二分法
最新推荐文章于 2023-12-27 18:14:06 发布