冒泡排序
冒泡排序就是让数组中的元素进行两两比较然后进行排序
package game.sc;
public class Test_maopao {
public static void main(String[]args) {
int[]。
= {2,5,35,45,45,45,78,54,45};
Test_maopao a=new Test_maopao();
a.show(arr);
}
public void sort(int[] arr) {
for(int j=0;j<arr.length;j++) {
//比较两个数的大小
for(int i=0 ;i<arr.length-j;i++) {
if(arr[i]>arr[i+1]) {
int temp=arr[i]; //把第一个元素保存到一个变量中
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public void show(int[]arr) {
for (int i:arr) {
System.out.println(i);
}
}
}
二分法查找
二分查找和我们高中学的二分法查找是一样的,要使用二分法我们先得排序
package game.sc;
/*
* 测试二分法
*/
public class Test_erfenfa {
public static int search(int[] array, int find){
if(array == null){
return -1;
}
int start = 0;
int end = array.length - 1;
int middle = 0;
while(start <= end){
middle = (start + end) / 2;//中间的位置
if(array[middle] == find){//中间值等于要查找的值,直接返回
return middle + 1;
}else if(array[middle] < find){//中间值小于要查找的值,就在中间值后面继续查找
start = middle + 1;
}else{//中间值大于要查找的值,就在中间值前面继续查找
end = middle -1;
}
}
return -1;//未查找到,返回-1
}
}