1 /**
2 * @param data
3 * @param value
4 * @return
5 * 折半查找
6 */
7 private static int binarySearch(int[] data, int value) {
8 int min = 0;
9 int max = data.length - 1;
10 while (min <= max) {
11 int mid = (min + max) / 2;
12 if (data[mid] == value) {
13 return mid;
14 } else if (data[mid] < value) {
15 min = mid + 1;
16 } else if (data[mid] > value) {
17 max = mid - 1;
18 }
19 }
20 return -1;
21 }
22
23 /**
24 * @param arr
25 * 冒泡排序
26 */
27 private static void bubbleSort(int[] arr) {
28 for (int i = 0; i < arr.length - 1; i++) {
29 for (int j = 0; j < arr.length - 1 - i; j++) {
30 if (arr[j] > arr[j + 1]) {
31 int temp = arr[j];
32 arr[j] = arr[j + 1];
33 arr[j + 1] = temp;
34 }
35 }
36 }
37 }
38
39 /**
40 * @param arr
41 * 选择排序
42 */
43 private static void selectSort(int[] arr) {
44 for (int i = 0; i < arr.length - 1; i++) {
45 for (int j = i + 1; j < arr.length; j++) {
46 if (arr[i] > arr[j]) {
47 int temp = arr[i];
48 arr[i] = arr[j];
49 arr[j] = temp;
50 }
51 }
52 }
53 }