- public static int halfSearch(List<String> list,String key)
- {
- int max,min,mid;
- max = list.size()-1;
- min = 0;
- while(min<=max)
- {
- mid = (max+min)>>1; // /2;
- String str = list.get(mid);
- int num = str.compareTo(key);
- if(num > 0)
- max = mid -1;
- else if(num < 0)
- min = mid + 1;
- else
- return mid;
- }
- return -min; // 找不到返回 -插入点
- }
复制代码 |
|