二分查找法适用于大量数据的查找,通过折半再折半,缩小查找区间,提高效率。
理解:
在已经排好序的数组a,寻找关键词sky
数组区间是[start----end],中间数是middle
首先:数组a将其折半,得到1.中间数middle的下标,2.中间数前面的那部分,3.以及中间数后面的那部分;
判断这个关键数key是不是恰好等于该中间数middle,如果这么巧就好了,那就找到了,找到了就break结束查找。
若不等于,如果该关键字sky>中间数下标所代表的数据a[middle],说明该关键字位于中间数右边,
右边的部分数组下标是:(middle+1)——end,同样,在右边这区间内继续折半,继续与关键词比较,直到找到。
如果该关键词sky<a[middle],就说明该关键词位于middle的左边,继续在左边折半查找,与关键词比较,直到找到。
package com.sunjuan.day10;
public cl