加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

JS复习笔记一:冒泡排序和二叉树列

发布时间:2020-12-15 02:15:05 所属栏目:C语言 来源:网络整理
导读:在这里逐步整理一些JS开发的知识,分享给大家: 一:冒泡排序 使用场景:数组中根据某个值得大小来对这个数组进行整体排序 难度:简单 原理:先进行循环,循环获取第一至倒数第二的范围内所有值,对当前值与下一循环的值进行判断,如果满足条件,直接在循环

在这里逐步整理一些JS开发的知识,分享给大家:

一:冒泡排序

使用场景:数组中根据某个值得大小来对这个数组进行整体排序

难度:简单

原理:先进行循环,循环获取第一至倒数第二的范围内所有值,对当前值与下一循环的值进行判断,如果满足条件,直接在循环中进行替换,再重复调用方法本体

案例:

        var arr = [10,1,2,5,12,3,42,20]
        function arrleft(){
            var value='';
            for(var i=0;i<arr.length-1;i++){
                if(arr[i] < arr[i+1]){
                    value = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = value;
                    return arrleft();
                }
            }
            console.log(arr);
        }
        arrleft();

  

二:二叉树列

使用场景:在规格固定的json中找到对应值

难度:困难

原理:通过多重解析调用的方式,获取json的所有子级

案例:

数据模板

        var json = {
            id:0,value:'0',left:{
                id:1,value:'a',left:{
                    id:2,value:'b',left:{
                        id:3,value:'c',},right:{
                        id:4,value:'d',left:{
                            id:5,value:'e'
                        }
                    }
                },right:{
                    id:6,value:'f',right:{
                        id:7,value:'g'
                    }
                }
            },right:{
                id:8,value:'h',left:{
                    id:9,value:'I',right:{
                        id:10,value:'J',left:{
                            id:11,value:'K'
                        }
                    }
                },right:{
                    id:11,value:'L'
                }
            }
        }

  

方法

        var i=0;
        function jsonFun(json,name){
            i++;
            if(json.id == name){
                console.log(json);
            }else{
                console.log(json.value);//前序遍历 
                if(json.left){
                    jsonFun(json.left,name)
                }
                console.log(json.value);//中序遍历
                if(json.right){
                    jsonFun(json.right,name)
                }
                console.log(json.value);//后序遍历
            }
        }
        jsonFun(json,1);
        console.log(i);//循环次数

  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读