最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

js排序:js冒泡排序的算法原理及代码实现

来源:懂视网 责编:小采 时间:2020-11-27 19:32:26
文档

js排序:js冒泡排序的算法原理及代码实现

js排序:js冒泡排序的算法原理及代码实现:本篇文章给大家带来的内容是关于js排序 :js冒泡排序的算法原理及代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。冒泡排序可谓是最经典的排序算法了,它是基于比较的排序算法,其优点是实现简单,排序数量较小时性能较好。算法原
推荐度:
导读js排序:js冒泡排序的算法原理及代码实现:本篇文章给大家带来的内容是关于js排序 :js冒泡排序的算法原理及代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。冒泡排序可谓是最经典的排序算法了,它是基于比较的排序算法,其优点是实现简单,排序数量较小时性能较好。算法原
本篇文章给大家带来的内容是关于js排序 :js冒泡排序的算法原理及代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

冒泡排序可谓是最经典的排序算法了,它是基于比较的排序算法,其优点是实现简单,排序数量较小时性能较好。

算法原理

相邻的数据进行两两比较,小数放在前面,大数放在后面,如果前面的数据比后面的数据大,就交换这两个数的位置。也可以实现大数放在前面,小数放在后面,如果前面的数据比后面的小,就交换两个的位置。要实现上述规则需要用到两层for循环。

1533018188-58e5dd802691a_articlex.gif

代码实现

  • 冒泡实现数组从小到大排序

  • var arr=[2,7,1,8,6,4,3,5,9];
    function mintomax(par){
     var length=par.length;
     for(var i=0; i<length-1; i++){
     for(var j=0; j<length-i-1; j++){
     if(par[j]>par[j+1]){
     var temp=par[j+1];
     par[j+1]=par[j];
     par[j]=temp;
     }
     }
     }
     return par;
    }
    console.log(mintomax(arr));
  • 冒泡实现数组从大到小排序

  • var arr=[2,7,1,8,6,4,3,5,9];
    function maxtomin(par){
     var length=par.length;
     for(var i=0; i<length-1; i++){
     for(var j=0; j<length-i-1; j++){
     if(par[j]<par[j+1]){
     var temp=par[j+1];
     par[j+1]=par[j];
     par[j]=temp;
     }
     }
     }
     return par;
     }
     console.log(maxtomin(arr));
  • 用es6结构赋值的方式重写上面代码

  • var arr=[2,7,1,8,6,4,3,5,9];
    function mintomax(par){
     var length=par.length;
     for(var i=0; i<length-1; i++){
     for(var j=0; j<length-i-1; j++){
     if(par[j]>par[j+1]){
     [par[j],par[j+1]]=[par[j+1],par[j]]
     }
     }
     }
     return par;
    }
    console.log(mintomax(arr));
    function maxtomin(par){
     var length=par.length;
     for(var i=0; i<length-1; i++){
     for(var j=0; j<length-i-1; j++){
     if(par[j]<par[j+1]){
     [par[j],par[j+1]]=[par[j+1],par[j]]
     }
     }
     }
     return par;
    }
    console.log(maxtomin(arr));
  • 按照父子平铺顺序排序

  • var data = [{
     ZDXM_STDCODE: '100101',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1001',
    },
    {
     ZDXM_STDCODE: '1001',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '',
    },
    {
     ZDXM_STDCODE: '100102',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1001',
    },
    {
     ZDXM_STDCODE: '100201',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1002',
    },
    {
     ZDXM_STDCODE: '1002',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '',
    },
    {
     ZDXM_STDCODE: '100202',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1002',
    },
    ]
    function datatotree(par) {
     var length = par.length;
     for (var i = 0; i < length-1; i++) {
     for (var j = 0; j < length - i - 1; j++) {
     var str1=par[j].GLZDXM+par[j].ZDXM_STDCODE;
     var str2=par[j+1].GLZDXM+par[j+1].ZDXM_STDCODE;
     if(par[j].GLZDXM==null){
     str1=par[j].ZDXM_STDCODE;
     }
     if(data[j+1].GLZDXM==null){
     str2=par[j+1].ZDXM_STDCODE;
     }
     if (str1 > str2) {
     var temp = par[j + 1];
     par[j + 1] = par[j]
     par[j] = temp;
     }
     }
     }
     return par;
    }
    var data = datatotree(data)
    console.log(data);
  • 按照es6结构赋值重写上面代码

  • var data = [{
     ZDXM_STDCODE: '100101',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1001',
    },
    {
     ZDXM_STDCODE: '1001',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '',
    },
    {
     ZDXM_STDCODE: '100102',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1001',
    },
    {
     ZDXM_STDCODE: '100201',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1002',
    },
    {
     ZDXM_STDCODE: '1002',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '',
    },
    {
     ZDXM_STDCODE: '100202',
     ZDXM_STDNAME: '',
     FINA_YYSR: '',
     FINA_PGZHSY: '',
     FINA_SJZHSY: '',
     FINA_PGZHSYL: '',
     FINA_SJZHSYL: '',
     FINA_ZHSYLCE: '',
     FINA_SRJJL: '',
     FINA_JSSKL: '',
     FINA_HTE: '',
     GLZDXM: '1002',
    },
    ]
    function datatotree(par) {
     var length = par.length;
     for (var i = 0; i < length-1; i++) {
     for (var j = 0; j < length - i - 1; j++) {
     var str1=par[j].GLZDXM+par[j].ZDXM_STDCODE;
     var str2=par[j+1].GLZDXM+par[j+1].ZDXM_STDCODE;
     if(par[j].GLZDXM==null){
     str1=par[j].ZDXM_STDCODE;
     }
     if(data[j+1].GLZDXM==null){
     str2=par[j+1].ZDXM_STDCODE;
     }
     if (str1 > str2) {
     [par[j],par[j+1]]=[par[j+1],par[j]];
     }
     }
     }
     return par;
    }
    var data = datatotree(data)
    console.log(data);
  • 上面代码排序之后结果

  • 1097031768-5b724fa06d844_articlex.png

    相关推荐:

    js排序:js插入排序的算法原理与代码实现

    js排序动画模拟-插入排序_javascript技巧

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    js排序:js冒泡排序的算法原理及代码实现

    js排序:js冒泡排序的算法原理及代码实现:本篇文章给大家带来的内容是关于js排序 :js冒泡排序的算法原理及代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。冒泡排序可谓是最经典的排序算法了,它是基于比较的排序算法,其优点是实现简单,排序数量较小时性能较好。算法原
    推荐度:
    标签: js 计算 排序
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top