冒泡排序法
二分查找法/对分查找法
package com.example.chyer.demo;
import java.util.Arrays;
public class Test {
public static void 冒泡排序(int[] data) {
boolean changed = true;
for (int m = 0; m < data.length - 1 && changed; m++) {
changed = false;
for (int j = 0; j < data.length - 1 - m; j++) {
if (data[j] > (data[j + 1])) {
changed = true;
int swap = data[j];
data[j] = data[j + 1];
data[j + 1] = swap;
}
}
}
}
public static void 二分查找(int[] args, int key) {
if (args == null) {
System.out.println("入参为空。。");
return;
}
int low = 0;
int high = args.length - 1;
int index = 1;
while (low <= high) {
System.out.print(index + "--");
index++;
if (key < args[low] || key > args[high]) {
System.out.println("未找到相关值。");
return;
}
int mid = (low + high) / 2;
if (args[mid] < key) {
low = mid + 1;
System.out.println(args[mid] + "<" + key + "->[" + mid + "]右半部分");
} else if (args[mid] > key) {
high = mid - 1;
System.out.println(args[mid] + ">" + key + "->[" + mid + "]左半部分");
} else {
System.out.println("目标值位置:" + mid);
return;
}
}
System.out.println("未找到相关值。");
return;
}
public static void main(String[] args) {
int[] arr = {
23,
31,
2,
2338,
2122,
22,
55,
134,
24000
};
System.out.println("排序之前:" + Arrays.toString(arr));
冒泡排序(arr);
System.out.println("排序之后:" + Arrays.toString(arr));
二分查找(arr, 31);
}
}
运行结果: