JAVA学习笔记----二分查找递归
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA学习笔记----二分查找递归相关的知识,希望对你有一定的参考价值。
public class Main{ public static int rank(int key, int[] a){ return rank(key,a, 0 ,a.length -1 ); } public static int rank(int key, int[] a, int lo , int hi){ if (lo > hi){System.out.println(" 找不到 ");return -1;} System.out.println(String.format("max index is ->%s",hi)); int mid = lo + (hi - lo)/2; System.out.println(String.format("index is -> %s",mid)); if (key < a[mid]){ System.out.println(String.format("%s is less than %s",key,a[mid])); return rank(key, a, lo ,mid-1); } else if (key > a[mid]){System.out.println(String.format("%s is more than %s",key,a[mid])); return rank(key,a, mid+1,hi);} else {System.out.println(String.format("%s matched %s ----------> index %s!!!",key,a[mid],mid));return mid;} } public static void main(String args[]){ int[] a = {1,2,3,4,5,6,43534,534535,1231,313,53,5,21312,3,123,123,12321,312312,31,24,5,34,6,7,353,5423,42,424,234,1321,34,43,6457,4} ; rank(100,a); rank(5,a); } }
以上是关于JAVA学习笔记----二分查找递归的主要内容,如果未能解决你的问题,请参考以下文章