1. 冒泡排序思路
比较相邻元素,如果相邻元素逆序就交换位置
2.二分查找思路
定义左右指针,通过在右指针计算出中间指针位置,比较中间位置数值与要查找数的大小,如果大于中间数,那么移动左指针,相反如果小于中间数,就移动右指针
代码如下
public class ArrayDemo1 {
public static void main(String[] args) {
int []arr = new int[]{3,4,5,1,2};
System.out.println(find(arr,5));
}
//冒泡排序
public static int[] sort(int[] arr){
int temp;
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[i] > arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//二分查找法
public static int find(int []arr,int number){
int left = 0;//左指针
int right = arr.length -1;//右指针
int mid ;//中间指针
while (right > left){
mid = (left + right)/2;
if (arr[mid] == number){
return mid;
//说明在中间节点的右边
}else if (number > arr[mid]){
left = mid - 1;
//说明在中间节点左边
}else if (number < arr[mid]){
right = mid - 1;
}
}
return -1;
}
}



