• 实现列表类,清空、添加、删除、查找、插入,判断元素是否存在


    实现列表类,清空、添加、删除、查找、插入,判断元素是否存在

    function List() {
        this.listSize = 0;//列表中元素的个数
        this.dataStore = [];//初始化一个空数组来保存数据
        this.clear = clear;//清空列表中的所有元素
        this.find = find;//在列表中查找某一元素
        this.toString = toString;//显示列表中的元素
        this.insert = insert;//向列表中插入一个元素
        this.append = append;//给列表添加元素
        this.remove = remove;//从列表中删除元素
        this.contains = contains;//判断列表中是否存在某一元素
        this.length = length;//列表中有多少个元素
    }
    function clear(){
        delete this.dataStore;
        this.dataStore = [];
        this.listSize = 0;
        this.pos = 0;
    }
    
    function find(element) {
        for (var i = 0; i < this.dataStore.length; ++i) {
            if (this.dataStore[i] == element) {
                return i;
            }
        }
        return -1;
    }
    
    function toString(){
        return this.dataStore;
    }
    
    function insert(element,after){
        var insertPos = this.find(after);
        if(insertPos > -1){
            this.dataSore.splice(insertPos+1,0,element);
            this.listSize++;
            return true;
        }
        return false;
    }
    
    function append(element) {
        this.dataStore[this.listSize++] = element;
    }
    
    function remove(element) {
        var foundAt = this.find(element);
        if (foundAt > -1) {
            this.dataStore.splice(foundAt,1);
            this.listSize--;
            return true;
        }
        return false;
    }
    
    function contains(){
        for(var i= 0; i < this.dataStore.length;i++){
            if(this.dataStore[i] == element){
                return true;
            }
        }
        return false;
    }
    
    function length(){
        return this.listsize;
    }
    
    
    var names = new List();
    names.append("Cynthia");
    names.append("Raymond");
    names.append("Barbara");
    console.log(names.toString());//[ 'Cynthia', 'Raymond', 'Barbara' ]
    names.remove("Raymond");
    console.log(names.toString());//[ 'Cynthia', 'Barbara' ]
  • 相关阅读:
    HDU 5115 Dire Wolf (区间DP)
    HDU 4283 You Are the One(区间DP(最优出栈顺序))
    ZOJ 3469 Food Delivery(区间DP好题)
    LightOJ 1422 Halloween Costumes(区间DP)
    POJ 1651 Multiplication Puzzle(区间DP)
    NYOJ 石子合并(一)(区间DP)
    POJ 2955 Brackets(括号匹配一)
    POJ 1141 Brackets Sequence(括号匹配二)
    ZOJ 3537 Cake(凸包+区间DP)
    Graham求凸包模板
  • 原文地址:https://www.cnblogs.com/baiyangyuanzi/p/6672651.html
Copyright © 2020-2023  润新知