int[] arr = {1, 3, 4, 2, 64, 12, 15, 78, 35, 69};
System.out.println("排序前:" + Arrays.toString(arr));
// 冒泡排序
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
int temp = arr[j];
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("排序后:" + Arrays.toString(arr));
// 二分法查找 前提:数组必须有序
// 需要查找的目标值
int target = 12;
int head = 0;// 默认的初始下标
int end = arr.length - 1;// 默认的结束下标
while (head <= end) {
int mid = (head + end) / 2;// 中间下标
// 中间值为目标值
if (target == arr[mid]) {
System.out.println("找到了目标值,对应的位置为:" + mid);
break;
} else if (target < arr[mid]) {
end = mid - 1;
} else {// target > arr[mid]
head = mid + 1;
}
}