以下是经典排序算法之一的冒泡排序实现代码和二分查找算法的简单实现 /** * @author CJH * @date 2020/4/29 * @desc **/ public class BinarySearchAndBubbling { public static void main(String[] args){ int array[] = new int[]{11,3,79,90,34,12,98,1002,38,22,77,10,9,56,50,49}; //先冒泡排序 --小到大 bubbling(array); System.out.print("排序后:"); for(int i :array){ System.out.print(i+","); } System.out.println(""); //查找77 System.out.println(binarySearch(array, 77)); } /** * 冒泡排序 * @param array */ public static void bubbling(int[] array){ for(int i=0; i<array.length; i ++){ for(int k=0; k <array.length-i-1; k ++){ if(array[k] >array[k+1]){//两两对比,调换位置 int temp = array[k]; array[k] = array[k+1]; array[k+1] = temp; } } } } /** * 二分查找 * @param array * @param key * @return */ public static boolean binarySearch(int[] array, int key){ boolean result = false; int low = 0; //第一个下标 int high = array.length - 1;//最后一个下标 int middle = 0; //防越界 if (key < array[low] || key > array[high] || low > high) { return result; } int num =0; while (low <= high) { num ++; middle = (low + high) / 2; if (array[middle] == key) { result = true; break; } else if (array[middle] < key) { low = middle + 1; } else { high = middle - 1; } } System.out.println("查找的次数:"+num); return result; } }
运行结果: