• 【数组】—冒泡排序&&选择排序(转载自我的老师 Alley-巷子)


     什么是冒泡排序:从头到尾比较相邻的两个数的大小,如果符合条件则进行比较
      
      【注】:从小到大进行排序


      假设有一个数组 var arr = [9,8,7,6,5,4]; 我们想要进行这个数组进行排序那么按照冒泡排序的规则我们可以进行演变和尝试

      第一次比较
      9 8 7 6 5 4
      
      8 9 7 6 5 4
      8 7 9 6 5 4
      8 7 6 9 5 4
      8 7 6 5 9 4
      8 7 6 5 4 9
      
      通过第一轮的比较我们将最大的数字9比较了出来,但是这并不是我们想要的最终结果,所以我们还需要继续比较


      第二次比较
      8 7 6 5 4

      7 8 6 5 4
      7 6 8 5 4
      7 6 5 8 4
      7 6 5 4 8
      
      通过第二轮比较我们将最大数字8比较了出来

      第三次比较
      7 6 5 4
      
      6 7 5 4
      6 5 7 4
      6 5 4 7
      
      通过比较我们将最大数字7比较了出来

      第四次比较
      6 5 4

      5 6 4
      5 4 6
      
      通过比较我们将最大数字6比较了出来

      第五次比较
      5 4
      
      4 5
      
      通过比较我们将数组5比较了出来


      
      【注】:通过以上演变我们得出一个结论也就是说比较的次数等于数组的长度减一; 每一次的比较内部需要两两比较的次数是 数组的长度-1-i
      
    */
    var temp;
    for(var i=0;i<arr.length-1;i++){
      for(var j=0;j<arr.length-1-i;j++){
        if(arr[j]>arr[j+1]){
           temp = arr[j];
           arr[j] = arr[j+1];
           arr[j+1] = temp; 
        }
      }
    }
    复制代码
    复制代码
    /*
      什么是选择排序
         类似于打擂台一样,谁赢了谁就站在第一位

       
      假设有一个数组 var arr = [9,8,7,6,5]; 我们想要进行这个数组进行排序那么按照选择排序的规则我们可以进行演变和尝试
      第一轮比较
      9 8 7 6 5
      
      8 9 7 6 5
      7 9 8 6 5
      6 9 8 7 5
      5 9 8 7 6

      第一轮比较出最小的数放在了第一位

      第二轮比较

      9 8 7 6

      8 9 7 6
      7 9 8 6
      6 9 8 7

      第二轮比较出最小的数放在了第一位

      第三轮比较
      9 8 7

      8 9 7
      7 9 8

      第三轮比较出最小的数放在了第一位

      第四轮比较
      9 8
      
      8 9

      第四轮比较完毕


      【总结】:首先看比较次数的规律:数组的长度-1,每轮比较的规律:每次比较的位置都是当前数字的位置+1进行的比较

    */
    var temp;
    for(var i=0;i<arr.length-1;i++){
      for(var j=i+1;j<arr.length;j++){
        if(arr[i]>arr[j]){
          temp = arr[i];
          arr[i] = arr[j];
          arr[j] = temp;
        }
      }
    }
    复制代码
  • 相关阅读:
    Spyder汉化问题
    Python配置环境变量
    Python、Spyder的环境搭建
    自然语言处理(六)词向量
    自然语言处理(五)深度学习
    自然语言处理(三)主题模型
    自然语言处理(四)统计机器翻译SMT
    自然语言处理(二) 语言模型
    自然语言处理(一)基础知识
    机器学习(九)隐马尔可夫模型HMM
  • 原文地址:https://www.cnblogs.com/mp-0518/p/11440529.html
Copyright © 2020-2023  润新知