4.15 链表的创建与转换

链表

 -头结点:其实就是一个不存在任何数据的空节点,通常作为链表的第一个节点,对于

 链表来说,头节点不是必须的,他的左眼只是为了方便解决一些问题而存在的

 -第一个包含数据的节点

 -链表的结束代表节点的next等于null

function LinkNode(value,next){
    this.value=value;
    this.next=next|null;
}

function arrayTolink(array){
    let nodes=[];
    for(const item of array){
        nodes.push(new LinkNode(item))
    }
    for (let index = 0; index < nodes.length-1; index++) {
        nodes[index].next= nodes[index+1];
        }
    return nodes[0];
}
function creatLinkList(arr){
    //链表节点的最后一个元素它的next指针刚好是null
    let node = new LinkNode(arr[arr.length-1])
    if(arr.length===1)return node;
    for (let index = arr.length-2; index > 0; index--) {
        node = new LinkNode(arr[index],node)
        
    }
    return node;
}

function createLinkList2(arr){
    //定义一个头节点
    let head=new LinkNode(0);
    let tmp =head;
    for(const item of arr){
        let node =new LinkNode(item);
        tmp.next =node;
        tmp=node;
    }
    return head.next;
}
function printNode(linkNode){
    let tmp =linkNode;
    while(tmp){
        console.log("link Node Data:"+tmp.value);
        tmp=tmp.next;
    }
}

let array=[100,200,300,400,500,600]

let firstNode =arrayTolink(array);
printNode(firstNode);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值