zoukankan      html  css  js  c++  java
  • 简单的算法

    //1.冒泡排序:冒泡排序总共需要排序n - 1 趟,每趟比较 n -1 - 趟数 这么多次;每趟排序可能交换多次元素,找到其中一个的元素最终位置,每次比较都是相邻元素之间的大小比较。----最常用

            var oArr = [78,23,24,55,66,2,55,9,12,38];

    // 1冒泡排序

    // 从小到大排列

    // 因为不用跟自身比较,所以循环次数-1

            for (var i=0; i<oArr.length-1; i++) {

    // 因为每次比较,都会得出一个最大/最小数,被放置在了最右边,所以要-i

                 for (var j=0; j<oArr.length-1-i; j++) {

    // 如果前一个数,比后一个数大,那么交换位置

                    if (oArr[j] > oArr[j+1]) {

                      var temp = oArr[j];

                       oArr[j] = oArr[j+1];

                       oArr[j+1] =temp;

                      }

                  }

               }

             console.log(oArr);

     

     

     

    //2.sort 方法;js 数组里的一个方法,sort 可以实现排序,只要传递一个函数即可

            var arr = [15,342,448,1150,1831,920,10,50,78,100];

    //要求按照数字的从小到大排序

               arr.sort();

               console.log(arr);

             arr.sort(function(obj1,obj2){

               if(Number(obj1) < Number(obj2)){//前面数减去后面数

                 return -1;//desc          // -1 代表后面的数大

               }else if(Number(obj1) > Number(obj2)){

               return 1;//asc

             }else{

               return 0;//same

              }

     

            });

             console.log(arr);//打印从小到大排序,改变负1,则就可改变排序顺序

     

     

    //3.选择排序----最常用

     

          var arr = [8,6,14,5,0,1,54,7,3,12];

    //比较 n - 1 趟

     

            for(var i = 0 ; i < arr.length - 1 ; i ++){

    //假定第一个元素是 最大值

            var max = 0 ;//假定每次循环都要把第一个置为最大值,所以不能放到外面

    //找到了某一趟的最大值

            for(var j = 1 ; j < arr.length - i;j++){

            if(arr[max] < arr[j]){

                max = j;

              }

            }

    //放到合适的位置

            if(max != arr.length - i - 1 ){

    //交换着两个位置的元素

              var temp = arr[max];

              arr[max] = arr[arr.length - i- 1];

              arr[arr.length - i -1] = temp;

             }

     

          }

            console.log(arr);

  • 相关阅读:
    kettle plugin 插件开发
    eclipse插件hibernate tools安装
    全面总结Java泛型 使用案例
    向刚工作的人解释什么叫工作!
    Hibernate 的HQL,QBC 查询语言
    JQuery Highcharts图表控件使用说明
    JSP 的脚本,指令,动作
    ODI OWB 特性比较说明
    Win32 框架文档视图(3)
    Win32 框架文档视图(2)
  • 原文地址:https://www.cnblogs.com/zxr8023/p/6055530.html
Copyright © 2011-2022 走看看