射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁 > IT認證 > JAVA >

Java基礎(chǔ)知識:采用二分法查找排序


采用二分法查找時,數(shù)據(jù)需是排好序的(升序還是降序)。假定是升序,其思想為:對于給定的值a,從序列的中間位置開始比較,如果當前位置的值等于a,那么查找成功;如果a小于當前位置的值,則到前半段去查找;反之,則到后半段去查找。

  用java實現(xiàn)如下:

  public class SearchTest{

  public static int LookFor(int[] array, int value) {

  int higher,middle,lower = 0;//頭初始為0

  higher = array.length - 1;//尾長度

  while(lower < higher){

  middle = (lower + higher)/2;

  if(value == array[middle]){

  return middle;//查找到,返回數(shù)據(jù)位置。

  }

  else if(value > array[middle]){

  lower = middle + 1;//大于中間值,去后半段查找,此時lower值發(fā)生變化

  }

  else if(value < array[middle]){

  higher = middle - 1;//小于中間值,去前半段查找,此時higher的值發(fā)生變化

  }

  return  -1;

  }

  }

  public static void main(String[] args){

  int[] a = {0,1,2,3,4,5,6,7,8,9};

  int temp = LookFor(a, 8);

  System.out.println(temp);

  }

  }

相關(guān)文章

無相關(guān)信息
更新時間2022-03-13 11:19:03【至頂部↑】
聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網(wǎng)站糾錯二維碼手機版

客服電話:4008816886