• js链表实现


    Node类包含连个属性

    element 用来保存节点上的数据,next 用来保存指向下一个节点的链接,具体实现如下

    //节点
    function Node(element) {
        this.element = element;   //当前节点的元素
        this.next = null;         //下一个节点链接
    }
    
    1.反转链表数组实现
    function fz(head) {
        var arr=[];
        while(head){
            arr.unshift(head)
            head=head.next;
        }
      }
    

    2.一个链表实现的例子参考理解

    (function (){ //这里定义一个自执行函数
        //构建链表 这里要注意,链在最后的对象要最开始声明,不然取到next的值就是undefined,这里变量提升,都先赋值为undefined
     var obj3 = {
         name:'obj3',
         next:null
     }
     var obj2 = {
         name:'obj2',
         next:obj3
     }
     var obj1 = {
         name:'obj1',
         next:obj2
     }
     function printLst(node){ //这段是用来输出链表的
         var p   = node;
         while(p){
             console.log(p.name)
             p = p.next;
         }
     }
     function reverse(nodeLst){
         var pNode = nodeLst; 
         var pPre = null;   //翻转之后 第一个节点的next值 为 null   
         var pNext;
         while(pNode){
             pNext = pNode.next;        //获取到当前节点的下一个节点
             pNode.next = pPre;         //当前节点的前一个指向上一个节点
             pPre = pNode;               //上一个节点赋值为当前节点
             pNode = pNext;              //当前节点赋值为下一个节点
         }
         return pPre;
     }
     printLst(obj1);
    })();
    
  • 相关阅读:
    成家撑家 不要妄自菲薄
    [文字20091204]佛说贪、嗔、痴、妒、慢、疑
    [文摘20091116]一生必看的88本书
    [文摘201009]演讲录全文:美国世界帝国战略与中国的危机 戴旭
    由 图标 加 文字 实现 按钮功能 的 图标按钮用户控件
    javascript Array扩展
    javascript Number对象
    纯CSS多级菜单2
    纯CSS相册2
    纯CSS多级菜单
  • 原文地址:https://www.cnblogs.com/hff-syt/p/12422348.html
Copyright © 2020-2023  润新知