Java冒泡排序与二分查找算法
/**
* 冒泡法排序
* @param arr
* @return
*/
public static int[] sort(int[] arr){
int temp=0;
boolean flag = true;
for (int i=0;i<arr.length;i++){
flag = false;
for (int j=0;j<arr.length-i-1;j++){
if (arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=true;
}
}
if (flag==false){
return arr;
}
}
return arr;
}
/**
* 二分法查找
* @param x
* @param arr
* @return
*/
public static int binarySearch(int x,int[] arr){
int low=0;
int high=arr.length-1;
int mid=0;
if (arr.length==0){
return -1;
}
while (low<=high){
mid=(low+high)/2;
if (x==arr[mid]){
return mid;
} else if (x<arr[mid]){
high=mid-1;
} else {
low=mid+1;
}
}
return -1;
}