冒泡排序、快速排序、二分查找

一、选择排序

 升序排序:从第一个数组元素开始 ,到(arr.length-1)倒数第二个元素为止。依次与后边每个元素比较,大于后边的元素则交换顺序。

 降序排序: 反之

        for(int i = 0;i < arr.length - 1;i++){

            for(int j = i +1;j< arr.length;j++){

                if(arr[i]>arr[j]){

                    int tem =arr[i];

                    arr[i]= arr[j];

                    arr[j]= tem;

                }

            }

        }

二、冒泡排序

    升序排序:每次从第一个元素开始往后相邻元素依次比较 前面大于后面交换 

    降序排序:反之

        for{int i= 0; i < arr.length;i++}{

            for(int j = 0; j < arr.length - i;j++){

                if(arr[j] > arr[j+1]){

                    int tmp = arr[j];

                    arr[j] = arr[j+1];

                    arr[j+1] = tmp; 

                }

            }

        }

三、二分查找

    要求:可以使用二分查找法的数组必须是有序的数组(升序或降序)

    设定中间索引获取到索引值与要查找的值作比较 大于查找的值在前面找 小于查找的值在后边找 再区间内重复设定中间值 知道找到位置 若查找不到 返回-1

代码:

pubic static int binnarySearch(int arr[] ,int num{

  int start = 0;

int end = arr.length-1;

while(start<= end){

    int  middleIndex = (satrt+end)/2;

    int middle = arr[middleIndex];

    if(num>arr[middleIndex]){

       start = middleIndex+1;

    }else if(num

       end = middleIndex-1;   

    }else{

       return middleIndex;

    }

}

return -1;

}

你可能感兴趣的:(冒泡排序、快速排序、二分查找)