二分法:
package com.java.base2.Practice; public class Test12 { public static void main(String[] args) { int[] array = {-98, -34, 2, 34, 54, 66, 79, 105, 210, 333}; int dest = -34; int head = 0; int end = array.length - 1; boolean isFlag = true; while (head <= end) { int middle = (head + end) / 2; { if (dest == array[middle]) { System.out.println("找到了,索引位置为" + middle); isFlag = false; break; } else if (array[middle] > dest) { end = middle - 1; } else { head = middle + 1; } } } if (isFlag) { System.out.println("对不起没有找到"); } } }
冒泡排序
package com.java.base3.Practice; /** * 数组的冒泡排序 */ public class BubbleSortTest { public static void main(String[] args) { int[] arr = {43, 32, 76, -98, 0, 64, 33, -21, 32, 99}; // 冒泡排序 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 temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ "\t"); } } }