蓝桥杯软件学院:常见算法之二分查找

Posted 蓝桥杯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯软件学院:常见算法之二分查找相关的知识,希望对你有一定的参考价值。

请点击上面蓝桥杯  免费订阅!

今天蓝桥杯软件学院郑老师为大家分享常见算法之二分查找,希望大家能够喜欢:

  1. public class ArraySort

  2. {

  3. //........这里省略了很多代码,请参考hi.baidu.com/alex_bw/blog/item/b817682041ec5348ac34de67.html中所示范的排序

  4. private static int binarySearch0(int[] a, int fromIndex, int toIndex,

  5. int key)

  6. {

  7. int low = fromIndex;

  8. int high = toIndex - 1;

  9. while (low <= high)

  10. {

  11. int mid = (low + high) >>> 1;

  12. int midVal = a[mid];

  13. if (midVal < key)

  14. low = mid + 1;

  15. else if (midVal > key)

  16. high = mid - 1;

  17. else

  18. return mid; // key found

  19. }

  20. return -(low + 1); // key not found.

  21. }

  22. public static void main(String[] args)

  23. {

  24. int[] x =

  25. { 49, 38, 65, 97, 76, 13, 27, 12, 18, 54, 20, 9, 8, 5, 6 };

  26. System.out.println("begin..." + Arrays.toString(x));

  27. // maopao(x, 0, x.length);

  28. // xuanze(x, 0, x.length);

  29. // charu(x, 0, x.length);

  30. kuaisu(x, 0, x.length);

  31. System.out.println("final..." + Arrays.toString(x));

  32. int index = binarySearch0(x, 0, x.length - 1, 27);

  33. System.out.println(index);

  34. }

  35. }

如果大家还不明白的话,欢迎大家参加蓝桥杯软件学院的免费实训计划。

============================


分享最光荣!轻击屏幕右上方即刻分享!

以上是关于蓝桥杯软件学院:常见算法之二分查找的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯算法竞赛系列第四章——二分算法

常见算法之二分查找法

常见算法之二分查找

蓝桥杯备赛--二分查找

蓝桥杯备赛--二分查找

算法基础1舍友课间上了个厕所,回来就告诉我他掌握了二分查找内附搜索模板