列表一:实现列表类

增加一个向列表中插入元素的方法,该方法只在待插入元素大于列表中的所有元素时才执行插入操作。这里的大于有多重含义,对于数字,它是数值上的大小;对于字母,它是指在unicode的大小比较

//先定义一个List构造函数(类)

function List() {

    this.listSize = 0;//列表中元素的个数
    this.pos = 0;//当前
    this.dataSource = [];
    this.clear = clear;
    this.find = find;
    this.toString = toString;
    this.insert = insert;
    this.append = append;
    this.remove = remove;
    this.front = front;
    this.end = end;
    this.prev = prev;
    this.next = next;

    this.hasNext;
    this.hasPrev;
    this.length = length;
    this.currPos = currPos;
    this.moveTo = moveTo;
    this.getElement = getElement;
    this.contains = contains;

}

//这里就不一一实现每个方法了,直接实现上述问题中的方法

   function insert(element,after) {
        //传入的element为待插入列表的元素,after是指插入在哪个元素的位置之后
        var flag = this.dataSource.every(function(item){
           return item<element;
        });
        if(flag){
            let insertPos = this.find(after); 
            if(insertPos > -1){
                this.dataSource.splice(insertPos+1 , 0 , element);
                return true;
            }

        }else{
            console.log("待插入的元素必须大于列表中的每一个元素");
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值