1.二分查找法
public static int binarySearch(int[] a, int key) {
int lo = 0;
int hi = a.length - 1;
while (lo <= hi) {
// Key is in a[lo..hi] or not present.
int mid = lo + (hi - lo) / 2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
注意:二分查找法使用的前提是数组由小到大排序
2.冒泡排序
//由小到大
for(int i=arr.length-1;i>0;i--){//i为每次循环的终止下标
for(int j=0;j
arr[j+1]){
int temp=arr[j+1];//定义临时变量temp
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
//由大到小
for(int i=0;i
=i;j--){//从后面往前面比较
if(arr[j]