//从小到大排序,返回一个整形数组
public static int[] arraySorted(int a[]){
int len = a.length;
for (int i=0;i<len;i++){
int minA = i;
for(int j=i;j<len;j++){
if( a[minA]> a[j]){
minA = j;
}
}
int temp = a[minA];
a[minA] = a[i];
a[i] = temp;
}
return a;
}
//二分查找,里面的数组为拍好序的数组,返回的是value在arr中的索引
public static int binarySearch(int arr[],int value){
if(arr.length == 0) return -1;
int startPos = 0;
int endPos = arr.length - 1;
int m = (startPos + endPos) /2;
while(startPos <= endPos){
if(value == arr[m]) return m;
if(value > arr[m]){
startPos = m + 1;
}
if(value < arr[m]){
endPos =m - 1;
}
m = (startPos + endPos) / 2;
}
return -1;
}
排序和二分查找
最新推荐文章于 2024-09-14 18:46:05 发布