Java 折半查询,java之折半查询
/**
* Created by rabbit on 2014-5-12.
*/
public class HalfSerach
{
public static void main(String[] args)
{
int [] arr = {3,6,7,9,11,22,35};????????????? //設置arr數組并進行復制
int index = halfsearch(arr,35);?????????????? //調用折半查詢對數組里的35進行查詢
System.out.println("index " +? index);????? //輸出查詢結果
} public static int halfsearch(int [] arr,int key) //開始創建折半查詢方法
{
int min,max,mid;????????????????????????????????? //創建最小下標min,最大下標max。折半下標mid。
min = 0;??????????????????????????????????????????? //最小下標為
max = arr.length-1;???????????????????????????? //最大小標為arr.length-1
mid=(min+max)/2;?????????????????????????????? //折半下標為(最大下標和最小下標的和)的一半 while (arr[mid]!=key)????????????????????? //當選定要比較的下標值與折半下標不相同時
{
if (key>arr[mid])???????????????????????????? //如果選定下標大于折半下標
min=mid+1;??????????????????????????????? //最小下標移動到折半下標的下一下標處
else if (key
max=mid-1;??????????????????????????????? //最大下標移動到折半下標的上一下標處
if (min>max)???????????????????????????? //如果最小下標比最大小標還大
return -1;????????????????????????????????? //返回-1;
mid=(min+max)/2;?????????????????????????? //折半查詢循環
}
return mid;???????????????????????????????????????? //當選定要比較的下標值與折半下標相同時,返回折半下標。
}
http://www.dengb.com/Javabc/769344.htmlwww.dengb.comtruehttp://www.dengb.com/Javabc/769344.htmlTechArticle/** * Created by rabbit on 2014-5-12. */ public class HalfSerach { public static void main(String[] args) { int [] arr = {3,6,7,9,11,22,35}; //設置arr數組并進行復制 int in...
總結
以上是生活随笔為你收集整理的Java 折半查询,java之折半查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何超频ddr4内存,让你的电脑燃爆
- 下一篇: jni c运行java字符串,通过JNI