zoukankan      html  css  js  c++  java
  • 冒泡排序

     冒泡排序的原理:(图片来源于网络)

     

    下面我们用两种方法实现冒泡排序:
    var afterDelete =  [11, 2, 6, 31, 5]
     
    方法一:
    function range(arr) {
        
        for(var i=0;i<arr.length-1;i++){
    
            //索引值是i的数字和排在它后面的所有数字依次比较一次
            for (var j = i + 1;j < arr.length;j++){
                if (arr[i] > arr[j]) {
                    var temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
                    
        }
        return arr
    }
    
    var rangeResult = range(afterDelete)
    console.log(rangeResult)   // [2, 5, 6, 11, 31]

    方法二:

    function quickSort(elements){
    
            if(elements.length<=1){
                return elements;
            }
            var index = Math.floor(elements.length/2);
            //console.log(index);//5->5->4->3->2->2->1
            var pivot = elements.splice(index,1)[0];//获取删除的数字
            //console.log("pivot="+pivot);//1-8-7-3-6-4.4-5.5
            var arrLeft = [];
            var arrRight = [];
            for(var i = 0;i<elements.length;i++){
                if(elements[i] < pivot){
                    arrLeft.push(elements[i]);
                    // console.log("arrLeft="+arrLeft);
                }else{
                    arrRight.push(elements[i]);
                    // console.log("arrright="+arrRight)
                }
            }
            return quickSort(arrLeft).concat([pivot],quickSort(arrRight));
          
        }
        
        console.log(quickSort(afterDelete));  // [2, 5, 6, 11, 31]

    作者:牧羊狼

    出处:https://www.cnblogs.com/edwardwzw/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利,谢谢您的配合。 Freedom is not let you do whatever you wanna but teach you not to do the things that you donnot wanna do.

  • 相关阅读:
    jQuery插件 -- Form表单插件jquery.form.js
    Ajax发送GET、POST请求和响应XML数据案例
    Ajax知识点复习
    Tomcat配置连接池的java实现
    dbcp数据库连接池的java实现
    C3P0数据库连接池的java实现
    推荐几款基于Bootstrap的响应式后台管理模板
    Java复习第四天
    Java复习第三天
    Java复习第二天
  • 原文地址:https://www.cnblogs.com/edwardwzw/p/11775870.html
Copyright © 2011-2022 走看看