2019/2/19 java
经典算法冒泡排序(今天面试题,手写冒泡排序,尴尬,没写,记录一下)
public class test {
public static void main(String[] args) {
int [] arr={6,3,8,2,9,1};
for(int num:arr){
System.out.print(num+"");
}
for(int i=0;i<arr.length;i++){//外层循环控制排序趟数
for(int j=0;j<arr.length-1-i;j++){ //内层循环控制每一趟排序多少次
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println();
for(int num:arr){
System.out.print(num+"");
}
}
}
二分查找
public class test {
public static void main(String[] args) {
int [] a={1,2,3,4,5,8};
int result = HalfSerarch(a, 1, 8, 4);
System.out.println(result);
}
/**
* 功能:查找一个参数在有序数组中的下标位置。
* @param a //有序数组
* @param low //最小值
* @param high //最大值
* @param key //输入值
* @return
*/
static int HalfSerarch(int a[],int low,int high,int key){
int mid;
while(low<=high){
mid=(low+high)/2;
if(a[mid]==key){
return mid;
}else{
if(a[mid]<key){
low=mid+1;
} else{
high=mid-1;
}
}
}
return -1;
}
}