笔试经常遇到的选择排序、冒泡排序和二分法查找

来源:互联网 发布:淘宝网通识课代刷 编辑:程序博客网 时间:2024/05/22 14:41
    //冒泡排序    public static void bubbleSort(int[] arr){        for(int x=0;x<arr.length-1;x++){        for(int y=0; y<arr.length-1-x;y++){            if(arr[y]>arr[y+1]){                int temp=arr[y];                arr[y]=arr[y+1];                arr[y+1]=temp;            }        }        }    }
    //选择排序    public static void selectSort(int[] arr){        for(int x=0;x<arr.length-1;x++){        for(int y=x+1; y<arr.length;y++){            if(arr[y]<arr[x]){                int temp=arr[y];                arr[y]=arr[x];                arr[x]=temp;            }        }        }    }
//二分法查找    public static int haleSearch(int[] arr, int key){        int max=arr.length;        int min=0;        int mid=(max+min)/2;        while(arr[mid]!=key){            if(key>arr[mid]){                min=mid+1;            }else if(key<arr[mid]){                max=mid-1;            }            if(min>max){                return -1;            }            mid=(max+min)/2;        }        return mid;    }
    //获取数组中的最大值, 第一种方法    public static int getMax(int[] arr)    {        int max = arr[0];    for(int x=1;x<arr.length;x++)    {    if(arr[x]>max)        max=arr[x];    }    return max;    }
    //获取最大值的另一种方式,    public static int getMax_2(int[] arr)    {        int max=0;    for(int x=1;x<arr.length;x++)    {    if(arr[x]>arr[max])        max=x;    }    return max;    }
0 0
原创粉丝点击