折半查找(二分查找)-JAVA版

﹏ヽ暗。殇╰゛Y 2022-01-22 10:33 306阅读 0赞
  1. import java.util.Scanner;
  2. public class BinarySearch {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. System.out.println("折半查找:");
  9. Scanner input = new Scanner(System.in);
  10. System.out.print("请输入数组元素的个数:");
  11. int n = input.nextInt();
  12. int[] arr = new int[n];
  13. System.out.print("请输入数组元素:");
  14. for(int i = 0; i < n; i++){
  15. arr[i] = input.nextInt();
  16. }
  17. System.out.print("请输入要查找的元素:");
  18. int target = input.nextInt();
  19. int index = -1;
  20. int begin = 0, end = arr.length - 1;
  21. while(begin <= end){
  22. int mid = (begin + end)/2;
  23. if(arr[mid] == target){
  24. index = mid;
  25. break;
  26. }
  27. if(arr[mid] > target){
  28. end = mid - 1;
  29. } else{
  30. begin = mid + 1;
  31. }
  32. }
  33. System.out.println("index="+(index + 1));
  34. }
  35. }

发表评论

表情:
评论列表 (有 0 条评论,306人围观)

还没有评论,来说两句吧...

相关阅读

    相关 二分查找(折半查找)

    二分查找 了解B+树的时候,看到了二分查找,发现自己只知道名称的意思是折半查找,却不知道是怎么去实现的。 后来查阅网上资料,发现二分查找必须要求数据是有序的,这样就

    相关 java实现二分查找折半查找

    算法思想:要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分