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; } }