美文网首页
链表-单向链表&双向&循环

链表-单向链表&双向&循环

作者: Ann_l | 来源:发表于2017-06-14 21:47 被阅读0次
单向链表

总结:链表就相当于一个盒子里有2个数据,一个是元素,另一个是下一个盒子的元素。这段代码敲下来,我觉得比较特别的是删除元素。以前想删除元素一定要用splice,但是链表,你只需要将指向替换就行了。

function LList() {
  this.head = new Node('head')
  this.find = find
  this.insert = insert
  this.remove = remove
  this.findPrevious=findPrevious
  this.display = display
}
function Node(element) {
  this.element = element
  this.next = null
}

function find(item) {
  var currNode = this.head
  while (currNode.element !== item) {
    currNode = currNode.next
  }
  return currNode
}
function insert(newElement, item) {
  var newNode = new Node(newElement)
  var current = this.find(item)
  newNode.next = current.next
  current.next = newNode
}
function display() {
  var currNode = this.head
  while (!(currNode.next === null)) {
    console.log(currNode.next.element)
    currNode = currNode.next
  }
}
function findPrevious(item) {
  var currNode = this.head
  while (!(currNode.next === null) && (currNode.next.element !== item)) {
    currNode = currNode.next
  }
  return currNode
}
function remove(item) {
  var prevNode = this.findPrevious(item)
  if (!(prevNode.next === null)) {
    prevNode.next = prevNode.next.next
  }
}
var cities = new LList()
cities.insert('conway', 'head')
cities.insert('Russ', 'conway')
cities.insert('ann', 'Russ')
cities.display()//conway Russ ann

cities.remove('Russ')
cities.display()//conway  ann
双向链表
循环链表

相关文章

  • 双向链表&双向循环链表

    链表分为:单链表、单向循环链表、双向链表、双向循环链表本节主要说明:双向链表、双向循环链表 定义结点 一、双向链表...

  • 数据结构与算法之循环链表(3.4)

    目录 单向循环链表双向循环链表约瑟夫问题如何发挥循环链表的最大威力? 一 单向循环链表 单向循环链表 - 只有一个...

  • day03-双向链表

    双向链表: 单向链表只能单向查找,双向链表可以双向查找。 啥是双向链表? 双向链表可以双向查数据,所以就不存在单向...

  • HashMap,LinkedHashMap简析及LruCache

    简介 HashMap:数组+单向链表 LinkedHashMap: HashMap + 双向循环链表 LruCac...

  • day5 循环链表

    循环链表分两种,一种是单向循环链表,另外一种是双向循环链表;分别如下图所示: 从图中我们可以看到,单向循环链表和单...

  • 2019-12-04 Java-LinkedList源码解读

    @TOC 1、链表数据结构 链表分为单向链表和双向链表,他们的区别在于,单向链表只能单向寻址,而双向链表可以双向寻...

  • js实现单项链表

    链表:单向链表,双向链表,循环链表,双向循环链表链表是分散于硬盘的存储空间,和数组不一样,数组是一个连续的存储空间...

  • JavaScript数据结构与算法-链表练习

    链表的实现 一. 单向链表 二. 双向链表 三. 循环链表 练习 一. 实现advance(n)方法,使当前节点向...

  • 单向链表,双向链表,循环单向链表

    1.Linked List 链表即是由节点(Node)组成的线性集合,每个节点可以利用指针指向其他节点。它是一种包...

  • 数据结构——双向链表、循环链表

    源码地址请点击此处 本文介绍链表的两个衍生结构:双向链表和循环链表。 双向链表 前面介绍的单向链表中,每个节点的地...

网友评论

      本文标题:链表-单向链表&双向&循环

      本文链接:https://www.haomeiwen.com/subject/rjreqxtx.html