zoukankan      html  css  js  c++  java
  • 选择排序算法

      选择排序:是一种非常简单直观的算法。

      问题:有一组数字[23,34,12,756,49,56],需要对它们进行从小到大的排序。

      原理:首先让没有排序的数字进行比较,将最小的数字排在排序序列的第一位;然后,再从剩余地未排序的数字中找出最小的数字,放在排序序列的第二位;以此类推...

      

    <script language="javascript">
    /*javascript描述的选择排序算法*/
    function main(){
      var arr = new Array(10),
          count = 10;
      /*获取10位的随机数组*/
      arr = getarr(count,arr);
      document.write("排序前的数组:" + arr + "<br />");
      /*排序*/
      arr = selectionSort(count,arr);
      document.write("排序后的数组:" + arr);
    }
    function getarr(count,arr){
      var i;
      for(i=0;i<10;i++){
        arr[i] = Math.round(Math.random()*100);
      }
      return arr;
    }
    /*选择排序算法*/
    function selectionSort(count,arr){
      var i,j,temp;
      for(i=0;i<count;i++){
        for(j=i;j<count;j++){
          if(arr[i]>arr[j]){
            temp = arr[j];
            arr[j] = arr[i];
            arr[i] = temp;
          }
        }
      }
      return arr;
    }
    main();
    </script>

    下面是利用javascript中内置的对象方法

    <script language="javascript">
    function main(){
      /*获取10位的随机数组*/
      var arr = new Array(10),
          count = 10;
      arr = getarr(count,arr);
      document.write("排序前的数组:" + arr + "<br />");
      /*数组排序*/
      arr.sort(compare);
      document.write("排序后的数组:" + arr);
    }
    function getarr(count,arr){
        var i;
        for(i=0;i<count;i++){
            arr[i] = Math.round(Math.random()*100);
        }
        return arr;
    }
    /*排序函数*/
    function compare(a,b){
      return a - b;
    }
    main();
    </script>
  • 相关阅读:
    Anaconda使用命令
    排序算法3--插入排序--希尔排序(缩小增量排序)
    排序算法2--插入排序--折半插入排序
    排序算法1--插入排序--直接插入排序
    排序总结---常用的排序算法总结,java和js实现
    前端兼容性问题
    js对象的几种创建方式和js实现继承的方式[转]
    js原型和原型链[转]
    性能优化的方法
    Http状态码
  • 原文地址:https://www.cnblogs.com/wang-jiang/p/4121481.html
Copyright © 2011-2022 走看看