1、折半查询
public class TestZheban {
public static void main(String[] args) {
int[] arr = {1,3,5,6,7,8,9,11,22,27};
int max = arr.length-1;
int left = 0;
int right = arr.length-1;
int count = 0;
int key = 3;
new TestZheban().fun(arr, left, right,key, count);
}
public void fun(int[] arr, int left, int right, int key,int count) {
count++;
int middle = (left + right) / 2;
if(null != arr) {
if(key == arr[middle]) {
System.out.println("第"+count+"次 查到结果 " + arr[middle]);;
} else if(key < arr[middle]) {
right = middle-1;
System.out.println("第"+count+"次 查询 " + arr[middle]);;
fun(arr, left, right, key,count);
} else {
left = middle + 1;
System.out.println("第"+count+"次 查询 " + arr[middle]);;
fun(arr, left, right, key,count);
}
} else {
System.out.println("数组为空");
}
}
}
2、 冒泡算法
public class TestMaopao {
public static void main(String[] args) {
int[] arr = {11,2,5,3,6,4,89,23,44};
for (int i=0; i<arr.length; i++) {
for (int j=0; j<arr.length-1; j++) {
if(arr[j] < arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.print("结果 : " );
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i] );
}
}
}
3、jdk 自带 Arrays(结果 从小到大)
Arrays.sort(arr); //进行排序
for(int i: arr){
System.out.println(i);
}