java实现二分查找算法_Java实现的二分查找算法

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

public class BinarySearch {

/**

* 二分查找算法

*

* @param srcArray 有序数组

* @param key 查找元素

* @return key的数组下标,没找到返回-1

*/

public static void main(String[] args) {

int srcArray[] = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,101};

System.out.println(binSearch(srcArray,srcArray.length - 1,81));

}

// 二分查找递归实现

public static int binSearch(int srcArray[],int start,int end,int key) {

int mid = (end - start) / 2 + start;

if (srcArray[mid] == key) {

return mid;

}

if (start >= end) {

return -1;

} else if (key > srcArray[mid]) {

return binSearch(srcArray,mid + 1,end,key);

} else if (key < srcArray[mid]) {

return binSearch(srcArray,start,mid - 1,key);

}

return -1;

}

// 二分查找普通循环实现

public static int binSearch(int srcArray[],int key) {

int mid = srcArray.length / 2;

if (key == srcArray[mid]) {

return mid;

}

int start = 0;

int end = srcArray.length - 1;

while (start <= end) {

mid = (end - start) / 2 + start;

if (key < srcArray[mid]) {

end = mid - 1;

} else if (key > srcArray[mid]) {

start = mid + 1;

} else {

return mid;

}

}

return -1;

}

}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

总结

以上是编程之家为你收集整理的Java实现的二分查找算法全部内容,希望文章能够帮你解决Java实现的二分查找算法所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

你可能感兴趣的:(java实现二分查找算法)