java實現折半查詢。
折半查詢也稱二分法查詢..
以下java實現的簡單的例子.具體程式碼如下:
package pack.java.splitdemo;
public class SplitDemo {
/**
* author:ZhouHaiTao;
* @param arrayData 資料;
* @param searchData 查詢的資料;
* @param start 開始索引;
* @param end 結束索引;
* @return 索引下標;沒有查詢到值,這返回-1;
*/
private int splitMethod(int[] arrayData,int searchData,int start,int end){
int index = (start + end) / 2;
int data = arrayData[index];
if(start >end){
return -1;
}
if(data == searchData){
return index;
}else {
//如果查詢出的資料,小於查詢出的資料,
if(data < searchData){
//利用遞迴,再次查詢;index向上移動1位。
return splitMethod(arrayData, searchData, index+1, end);
}else{
return splitMethod(arrayData, searchData, start, end-1);
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SplitDemo splitDemo = new SplitDemo();
int[] arrayData = new int[]{1,3,20,23,29,45,54,64,99};
int index = splitDemo.splitMethod(arrayData,54, 0,arrayData.length-1);
System.out.println("is exists:"+index);
}
}
相關文章
- 折半查詢(C++實現)C++
- BST查詢結構與折半查詢方法的實現與實驗比較
- 折半查詢排序樹畫圖和排序
- 二分搜尋(折半查詢)
- 二分查詢【折半查詢】演算法 PHP 版演算法PHP
- 折半查詢法的平均查詢長度(成功/失敗)
- Java實現遞迴查詢樹結構Java遞迴
- Java實現二分查詢演算法Java演算法
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- JVM系列(四):java方法的查詢過程實現JVMJava
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- (三)陣列的定義、折半查詢、排序(選擇和冒泡)陣列排序
- indexdb實現分頁查詢Index
- python實現查詢糾錯Python
- mysql多表查詢如何實現MySql
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI
- PHP 實現二分查詢PHP
- [Hive]Hive實現抽樣查詢Hive
- jeefast實現科目成績查詢AST
- 查詢賬單功能的實現
- 實現 MyBatis 流式查詢的方法MyBatis
- 並查集java實現並查集Java
- 並查集-Java實現並查集Java
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- C++,Java,Python,Javascript實現二分查詢演算法C++PythonJavaScript演算法
- Java ——MongDB 插入資料、 模糊查詢、in查詢Java
- 二分查詢和折半插入排序一塊說說-很合適~~~排序
- 使用mybatis example 和 java 8的特性來實現多表關聯且帶有查詢條件的查詢MyBatisJava
- HTML + CSS + JS 利用郵編查詢 API 實現郵編查詢工具HTMLCSSJSAPI
- c++字串查詢函式實現C++字串函式
- SSM框架實現分頁查詢例子SSM框架
- Golang實現二分查詢法Golang
- django 動態查詢實現過程Django
- Spring Data JPA 實現聯表查詢Spring
- 如何實現引數級聯查詢
- 二分查詢(函式實現)函式
- C# Winform ComboBox模糊查詢實現C#ORM
- Js實現二分查詢,加油JS
- 如何實現模糊查詢時間段