• 字典 -- 数据结构与算法的javascript描述 第七章


    字典

    字典是一种以键-值对形式存储数据的数据结构

    最基本功能规划

    add    添加数据到字典
    remove  从字典中移除数据
    get  从字典中取出数据
    count  统计字典数据量
    find   查找数据在字典中位置
    show  显示字典数据
    
     /**
         * 字典
         * @constructor
         */
        function Dictionary(){
            var me = this;
            me.dataStore = [];
            me.add = add;
            me.find = find;
            me.remove = remove;
            me.clear = clear;
            me.count = count;
            me.showAll = showAll;
    
            function add(key,value){
                me.dataStore[key] = value;
            }
            function find(key){
                return me.dataStore[key] ;
            }
            function remove(key){
                delete me.dataStore[key]
            }
            function clear(){
                for(var i in Object.keys(me.dataStore)){
                    delete me.dataStore[i];
                }
            }
            function showAll (){
                var list = Object.keys(me.dataStore).sort(),s=' ';
                list.forEach(function(item){
                    s+= "key: "+item;
                    s+= ",value: "+me.dataStore[item] +" 
     "
                })
                console.log(s)
            }
            function count(){
                var list = Object.keys(me.dataStore),n=0;
                list.forEach(function(){
                    ++n;
                })
                return n;
            }
    
        }
    

    test

    var pbook = new Dictionary();
        pbook.add("Raymond","123");
        pbook.add("David", "345");
        pbook.add("Cynthia", "456");
        pbook.add("Mike", "723");
        pbook.add("Jennifer", "987");
        pbook.add("Danny", "012");
        pbook.add("Jonathan", "666");
        pbook.add("Accccc", "666");
        pbook.showAll();
        console.log(pbook.find('Accccc'))
        console.log(pbook.count())
    
        //提取字符出现次数
    var s = "the brown fox jumped over the blue fox";
    
        var stotal = new Dictionary();
        var sarr = s.split(' ');
        for(var i = 0,n= sarr.length;i<n;i++){
            if(stotal.find(sarr[i])){
               var v = stotal.find(sarr[i]);
                stotal.remove(sarr[i])
                stotal.add(sarr[i],v+1)
            }else{
                stotal.add(sarr[i],1)
            }
        }
        stotal.showAll();
    
  • 相关阅读:
    Weather with you主题说明
    搜索枚举
    洛谷P2085——最小函数值
    洛谷P1402——乒乓球
    CSP2019,RP+=150。
    搜索之连通块(深搜广搜版)
    appium
    appium环境搭建
    Python抓取淘宝IP地址数据
    记录日志
  • 原文地址:https://www.cnblogs.com/iyueyao/p/4000666.html
Copyright © 2020-2023  润新知