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

    冒泡:

     // 数组的排序:
        // sort()
    
        // 冒泡排序:两两比较,大的放后面
        // 0-1,1-2,2-3,3-4  0~length-1-0
        // 0-1,1-2,2-3      0~length-1-1
        // 0-1,1-2          0~length-1-2
        // 0-1              0~length-1-3
        var arr = [45,3,78,2,9]; //制定数组
        function bubble(a){
            for(var i=0;i<a.length-1;i++){      //遍历数组
                var s;
                for(var j=0;j<a.length-i-1;j++){  //需要比较的次数
                    if(a[j]>a[j+1]){
                        s=a[j+1]
                        a[j+1]=a[j];
                        a[j]=s
                    }
                }
            }
            return a;
        }
        console.log(bubble(arr))

    选择:

     1   // 选择排序:取第一位和后面所有做比较,拿到最小的,放在第一位
     2     // 1.确定执行次数,和比较方式
     3     // length-1
     4     // 0-1,0-2,0-3,0-4     0~length-1
     5     // 1-2,1-3,1-4         1~length-1
     6     // 2-3,2-4             2~length-1
     7     // 3-4                 3~length-1
     8     var arr = [45,3,78,2,9];//制定一个数组
     9     for(var i=0;i<arr.length;i++){  //遍历所有数组
    10         var min=arr[i];           //假定最小值为a[i]
    11         var minIndex=i;             //最小值的索引是i
    12         for(var j=i+1;j<arr.length;j++){  //每行需要排序的次数 。
    13             if(min>arr[j]){   //假定的最小值逐个相比
    14                 min=arr[j];  //真实的最小值 。相当于a[i]与a[i+1]比
    15                 minIndex=j; //真实的最小值索引
    16             }
    17         }
    18         arr[minIndex]=arr[i]   //因为要发生交换,将假定的最小值放到真实的最小值位置。//之所以要放在循环外面,是要等一个都比完了。
    19         arr[i]=min;    //真实的最小值放到假定的最小值位置,i也是从头开始的所以最小的肯定在最前面
    20 //上面两行代码表示两个数字位置发生了交换
    21     }
    22     console.log(arr)
  • 相关阅读:
    mysql高级之编程优化
    高性能产品必由之路
    linux下安装xhprof
    linux下安装apc
    linux下安装vld
    python装饰器通俗易懂的解释!
    python函数基础 与文件操作
    python基础入门一(语法基础)
    iOS Keychain,SSKeychain,使用 理解 原理
    起头
  • 原文地址:https://www.cnblogs.com/hy96/p/11385848.html
Copyright © 2011-2022 走看看