package com.guigu.day08.stuclass; import java.util.Arrays; import java.util.Scanner; public class Binnary { public static void main(String[] args) { int[] arr = {1, 5, 4,3 , 15, 40, 7, 18, 9}; //数组排序 int[] arr1 = BubbleSort(arr); //排序后打印数组 System.out.println("Arrays.toString(arr1) = " + Arrays.toString(arr1)); Scanner scanner = new Scanner(System.in); System.out.println("输入查找的关键字"); int key = scanner.nextInt(); boolean b1 = Binnary(key, arr1); if (b1) { System.out.println("查找成功"); } else { System.out.println("查找失败,不存在该数据"); } } //折半查找 public static boolean Binnary(int key, int arr[]) { int min = 0; int max = arr.length - 1; while (min <= max) { int mid = (min + max) / 2; if (key == arr[mid]) { System.out.println("数组下标为\t" + mid); return true; } if (key > arr[mid]) { min = mid + 1; } if (key < arr[mid]) { max = mid - 1; } } return false; } // 冒泡排序 public static int[] BubbleSort(int arr[]) { for (int i = 0; i < arr.length - 1; i++) { // 循环遍历相邻的数组位置 for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { //相邻位置比较,较大的向后移 int tem = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tem; } } } return arr; } }
03-03
2481