最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 冒泡排序和选择排序

    正文概述 掘金(皮皮克)   2021-06-06   486

    冒泡排序

    冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。较大的数慢慢往后排,较小的数慢慢往前排,这个过程就像气泡慢慢浮出水面,所以叫冒泡排序。

    • 冒泡排序的过程
    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

    代码实现

    var arr = [4,1,3,6,5,7];
    function compare(a,b){//比较之后需要得出是否需要交换
        if (a > b) return true;
        else return false;
    }
    function exchange(arr,a,b){//将数组中ab位置里的值进行交换
        var temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
    
    function sort(arr){
        for (var  i = 0;i < arr.length; i++){
            for (var j = 0;j < arr.length - 1 -i; j++){
                if (compare(arr[j],arr[j + 1])){
                    exchange(arr,j,j + 1);
                }
            }
        }
    }
    sort(arr);
    console.log(arr);
    

    选择排序

    选择排序是先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

    代码实现

    var arr = [4,1,3,6,5,7];
    function compare(a,b){//比较之后需要得出是否需要交换
        if (a < b) return true;
        else return false;
    }
    function exchange(arr,a,b){//将数组中ab位置里的值进行交换
        var temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
    //选择排序,内层循环,每一圈选出一个最大的,然后放在后面
    function sort(arr){
        for (var  i = 0;i < arr.length; i++){
            var maxIndex = 0;
            for (var j = 0;j < arr.length-i; j++){
                if (compare(arr[maxIndex],arr[j])){
                    maxIndex = j;
                }
            }
            exchange(arr,maxIndex,arr.length - 1 -i);
        }
    }
    sort(arr);
    console.log(arr);
    

    起源地 » 冒泡排序和选择排序

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元