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

一、选择排序

 升序排序:从第一个数组元素开始 ,到(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;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 各校历年复试机试试题 清华、北大、华科试题详细笔记部分,少笔记部分与少数leetcode【含个人整理笔记】 一、详...
    医学工程与科学园地阅读 1,241评论 0 1
  • 相比较于刚需而言,可能高频才是面向用户的产品更需要关注的问题。毕竟,绝大部分时候互联网服务都不是创造出一个全新的需...
    liupc阅读 229评论 0 0
  • 其实我从未真正了解过别人 甚至自己 我在犹豫 要不要做出改变 我是个很小心的人 我只能靠自己 守护着 我世界里 最...
    长马阅读 155评论 0 1
  • 有一种力量 穿越时空,穿越国界,穿越天地万物,只留在心中! 那是一种历尽劫难的力量,残缺而忧郁; 那是一种无可退缩...
    风雨侠客阅读 934评论 2 10