单项链表的方法封装

链表常见操作

我们先来认识一下, 链表中应该有哪些常见的操作

  • append(element):向列表尾部添加一个新的项
  • insert(position, element):向列表的特定位置插入一个新的项。
  • remove(element):从列表中移除一项。
  • indexOf(element):返回元素在列表中的索引。如果列表中没有该元素则返回-1
  • removeAt(position):从列表的特定位置移除一项。
  • isEmpty():如果链表中不包含任何元素,返回true,如果链表长度大于0则返回false
  • size():返回链表包含的元素个数。与数组的length属性类似。
  • toString():由于列表项使用了Node类,就需要重写继承自JavaScript对象默认的toString方法,让其只输出元素的值。
 <script>
        //创建节点,有data和next属性
        class Lnode {
   
            constructor(data) {
   
                this.data = data;
                this.next = null
            }
        }
        //链表
        class LinkeList {
   
            constructor() {
   
                this.head = null;
                this.length = 0;
            }
            //添加
            append(el) {
   
                let newnode = new Lnode(el);
                if (this.head == null) {
   
                    this.head = newnode;
                } else {
   
                    let current = this.head;
                    while (current.next) {
   
                        current = current.next;
                    }
                    current.next = newnode

                }
                this.length++;
            }
            //插入
            insert(position<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值