java中怎么实现一个二分查找法算法

  介绍

本篇文章为大家展示了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 

示意图

癹ava中怎么实现一个二分查找法算法"

上述内容就是java中怎么实现一个二分查找法算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

java中怎么实现一个二分查找法算法