javascript实现List列表数据结构

书籍推荐

有幸拜读《数据结构与算法Javascript描述》这本书,先强烈安利一波!非常感谢作者大大给我们前端领域带来这本书。

全书从javascript的角度出发,简单明了的分析了数据结构在javascript领域的实现过程与实际的应用案例,且在每一章的结尾,都给大家留了一些书中案例相关的小作业,让大家可以实操消化,是一本实实在在可以带领大家入门数据结构与算法的神书,再次强烈推荐!!!

那么,如何使用javascript实现一个列表呢?作为一名前端开发人员,大家的第一反应肯定都是利用数组,但我们可以利用数组做些什么呢?这时候就需要大家对List这种数据结构有一定的了解了。

尝试理解List

  1. 我们可以把List看成一个对象(比如一列火车)
  2. 这个对象有自己的属性和方法(火车有车厢长度,每节车厢的位置,可以前进,可以后退,车厢排列一定是有序的,车厢是一节一节连接,可以给火车在后面添加一节车厢…)
  3. 我们如何去获取或修改对象内部的一些零件或者获取对象的一些信息?(通过属性和方法)

代码实现

function List () {
   
  // 列表数据
  this.data = []
  // 列表的元素个数
  this.listSize = 0
  // 列表的当前位置
  this.pos = 0
  // 返回列表元素的个数
  this.length = function() {
   
    return this.listSize
  }
  // 清空列表中的所有元素
  this.clear = function() {
   
    this.data.length = 0
    this.listSize = this.pos = 0
  }
  // 返回列表的字符串形式
  this.toString = function() {
   
    return this.data
  }
  // 返回当前位置的元素
  this.getElement = function() {
   
    return this.data[this.pos]
  }

  /**
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值