链表

什么是链表?

链表是由一组节点组成的集合。

  • 实现

    我们设计的链表包含两个类。Node类用来表示节点,LinkedList类提供了插入节点、删除节点、显示列表元素的方法,以及一些辅助方法。

    • Node类

      Node类包含连个属性:element用来保存节点上的数据,next用来保存指向下一个节点的链接。

      class Node {
        constructor (element) {
          this.element = element
          this.next = null
        }
      }
      
  • LinkedList类

    class LinkedList {
        constructor () {
          this.head = new Node('head')
        }
        // 查找节点
        find (item) {
          let currNode = this.head
          while (currNode.element != item) {
            currNode = currNode.next
          }
          return currNode
        }
        // 插入
        insert (newElement, item) {
          let newNode = new Node(newElement)
          let current = this.find(item)
          newNode.next = current.next
          current.next = newNode
        }
        // 显示链表中的元素
        display () {
          let currNode = this.head
          while (currNode.next !== null) {
            console.log(currNode.next.element)
          }
          currNode = currNode.next
        }
        // 删除
        remove () {
    
        }
      }
    
  • 双向链表

    每一个节点有一个previous指向前一个节点

  • 循环链表

    创建的时候需要

    this.head.next = this.head

    插入元素之后,链表的末端指向链表的头部。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. 认识双向链表 双向链表介绍 单向链表: 我们可以轻松的到达下一个节点, 但是回到钱一个节点是很难的. 但是,...
    小码哥教育520it阅读 15,230评论 0 0
  • 链表 概念 说到链表,coder们都不会陌生,在日常开发中或多或少都会用到它。它是链式存储的线性表,简称链表。链表...
    扈扈哈嘿阅读 2,089评论 0 5
  • 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 ...
    呼啦啦的爱阅读 395评论 0 0
  • 前面两节课程主要介绍了动态数组、栈以及队列这样三种数据结构,这三种数据结构的底层都是依托于静态数组构建的,靠res...
    xkzhai阅读 437评论 0 0
  • 定义 链表是由一组节点组成。每个节点都使用一个对象的引用指向它的后继。指向另一个节点的引用叫做链。 设计一个基于对...
    小王啊_阅读 251评论 0 0