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);//循环次数
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |