利用二分法查找指定的数在数组中的位置
//找到指定的数,返回该数在数组内的位置,否则返回-1
public class DiGuiXieErFenFa {
public static void main(String[] args) {
int element = 0;
int[] arr = new int[]{1,3,4,6,9,13,56,76};
//数组内部可以是任何形式如String[]
System.out.println(m(arr,0,arr.length-1,element));
//System.out.println(searchValue(arr, 0, arr.length-1, element));
}
//递归写二分查找
//定义方法searchValue,传入指定的数组,开始下表,结束下表,以及目标元素
public static int searchValue(int[] arr, int start, int end, int element) {
int res = -1;
if (end<start) {
return -1;
}
if (start <= end) {
int middle = (start + end) / 2;
int middleVaule = arr[middle];
if (middleVaule == element) {
return middle;
} else if (middleVaule > element) {
return searchValue(arr, start, middle - 1, element);
} else {
return searchValue(arr, middle + 1, end, element);
}
}
return res;
}
}
继续阅读与本文标签相同的文章
上一篇 :
2018年12月16日训练日记
下一篇 :
Shell 数组
-
汇编(四)字的存储、DS和[address]、字的传送、mov、add、sub指令、数据段
2026-05-19栏目: 教程
-
elasticsearch之索引管理API(Index management)
2026-05-19栏目: 教程
-
简单介绍几种Java后台开发常用框架组合
2026-05-19栏目: 教程
-
<丰田发布了LQ EV概念车>。丰田全新的概念车配备了AI代理和自动驾驶功能,这是丰田美国公司研究员开发的,首次的公开亮相将在本月23日。在2017年CES消费车展上丰田曾展示了 Concept-Ai i概念车
2026-05-19栏目: 教程
-
Sysweld笔记:利用稳态算法加速算法模拟焊接过程的残余应力
2026-05-19栏目: 教程
