JavaScript根据数组构建链表
2016-08-21 08:06
375 查看
假如我要编写一个build方法,它接收一个数组,在内部按数组元素出现顺序构建链表,并且返回头指针。
那么首先需要一个Node对象,它作为链表的节点,存储数据和指向下一个节点的指针。
function Node(data,next) {
this.data = data;
this.next = next;
}然后,我需要一个辅助的push方法,它负责将新节点压入链表头部,并返回新的头指针。
function push(head, data) {
return new Node(data,head);
}最后,编写buld方法,先将数组中的元素一一出队,再一一push即可,最后返回头指针。
function build(array) {
var chain = null;
while(array.length){
chain = push(chain,array.shift());
}
return chain;
}
那么首先需要一个Node对象,它作为链表的节点,存储数据和指向下一个节点的指针。
function Node(data,next) {
this.data = data;
this.next = next;
}然后,我需要一个辅助的push方法,它负责将新节点压入链表头部,并返回新的头指针。
function push(head, data) {
return new Node(data,head);
}最后,编写buld方法,先将数组中的元素一一出队,再一一push即可,最后返回头指针。
function build(array) {
var chain = null;
while(array.length){
chain = push(chain,array.shift());
}
return chain;
}
相关文章推荐
- (树)根据排序数组或者排序链表重新构建BST树
- 根据给定的数组或链表构建完全二叉树(Java)
- javascript 根据指定字符把字符串拆分为数组
- 一个数组中可根据需要生成若干个独立的链表
- JavaScript概率游戏抽奖根据cookie判断是否填写资料,从而显示相关的提示;判断元素下标是否在随机生成的数组中,有即让其抽奖
- 根据先序和中序数组构建二叉树
- 根据参数串构建xml实例(不用foreach对数组遍历的原因是它会包含自定义函数has)
- javascript中根据对象特性去除数组中的重复项
- (附代码)根据输入信息构建不同人种类,统一打印不同国家地区的身高、体重信息(泛型数组应用,多态、重载、泛型、反射等概念体验)
- javascript 对象数组根据对象object key的值排序
- JavaScript:JSON数组根据属性排序
- JavaScript 根据数组中对象的属性排序
- javascript 对象数组根据对象object key的值排序
- Python 使用由单链表构建的数组实现有边际优先队列 (基于class, 包含迭代器)
- javascript 005 基于原型链实现类 数组去重,排序,根据值删除数组中元素,查某个值在数组中的索引,根据值,判断数组中是否有该值的元素
- 链表逆序(递归&非递归)/倒序输出链表值/用一个递增序列构建平衡二叉搜索树/用递归的方法判断数组是不是升(降)序排列
- javascript 数组对象根据指定属性排序
- 用数组 和 链表 构建栈
- JavaScript 对象数组,根据某个对象属性进行排序
- 根据数组+链表的原理,自己实现一个简易版的HashMap