介绍
本篇文章为大家展示了java中怎么实现一个二分查找法算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
二分查找法有两种实现方式<强> 强>,<强>递归>强方法实现
public class maxtest {public static  void main (String [], args),{//# # # # # # # # # # # # # # # # # # #二分查找法开始# # # # # # # # # # # # # # # # # # #//int [], arrays =,{22218年113年,16岁,24日,25日,23日,8日,13日,6215123218113年,14222年,28213年,4,2,17日,5日,12117年,15122年,18岁的26214212117216};int 临时;时间=for (int j 0;, j & lt;, arrays.length-1;, j + +), {for (int 小姐:=,0;,小姐:& lt;, arrays.length;,我+ +),{if (arrays.length-1 ==,我),{打破; 其他}{if (数组[我],祝辞,数组(i + 1)), { 时间=temporary 数组(我); 数组(我),=,数组(i + 1); 数组(i + 1),=,暂时的; } } } }for (int 小姐:=,0;,小姐:& lt;, arrays.length;,我+ +),{ System.out.print(数组(我)+“,“); } System.out.println (“\ n调用递归方法结果:“+ binarySearch(数组、0 arrays.length-1 24));//递归方法调用 System.out.println (“\ n调时用方法结果:“+ binarySearch(数组、24));//而方法调用//# # # # # # # # # # # # # # # # # # #二分查找法开始# # # # # # # # # # # # # # # # # # #//}//二分查找法递归实现public static int binarySearch (int[],数组,int 开始,int 最终,int des) {int 中期=(开始+结束)/2;if (数组(中期),==,des), {return 中期; }if (start 祝辞=,结束),{return 1; }else if (数组(中期),& lt;, des), {return binarySearch(数组,中期+ 1,,,,des); }else 如果(数组(中期),祝辞,des) {return binarySearch(将数组开始,祝福;mid-1, des); }return 1; },,//二分查找法而实现public static int binarySearch (int[],数组,int des) {int 中期=arrays.length/2;if (数组(中期),==,des), {return des; }int low =, 0;,,, int high =, arrays.length-1;,,,虽然(low & lt;=,高),{,,int middle =,(时间+ low 高)/2,,,,如果(==des 数组[中]),{,,return 中间,,,, ,,,,,,,,,,,}else 如果(des & lt;数组[中]),{,, ,,,,,,,,,,,,,,,high =, middle 作用;1;,,, ,,,,,,,,,,,{,,}else ,,,,,,,,,,,,,,,low =, middle +, 1,,,, ,,,,,,,,,,,},, ,,,,,,,},,return 1;,, }
结果如下:
2, 4, 5, 6, 8, 12日,13日,14日,15日,16日,17日,18日,22日,23日,24日,25日,26日,28,113,113,117,117,122,123,212,213,214,215,216,218,218,222,调用递归方法结果:14调时用方法结果:14
示意图
上述内容就是java中怎么实现一个二分查找法算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。