美文网首页
2018-07-12

2018-07-12

作者: urtss | 来源:发表于2018-07-18 22:32 被阅读0次

    C++ map hashmap java hashmap 对比分析

    首先 这个是在做leecode上的两数之和时遇到的。

    首先是vector,vector是可变数组,遍历方式两种:

    一  使用iterator 迭代访问,使用vector.begin() vector.end()来遍历。

    二  数组的方式,i,vector.size(),i++来遍历。

    vector.push_back(),将数据放到vector的结尾处。

    vector.erase() ,将数据删除,可以写一个参数,代表删除的位置,从vector.begin()+XX,可以写两个参数,左闭右开区间。

    vector.insert() :

    insert() 函数有以下三种用法:

    1、在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器

    2、在指定位置loc前插入num个值为val的元素

    3、在指定位置loc前插入区间[start, end)的所有元素 

    hash

    散列 亦做哈希,就是把不同长度的输入通过散列算法到相同长度的输出。输出相同时,输入不一定相等,称为哈希碰撞。输出不同时,输入一定不相等。

    map:

    二叉树

    map是(key,value)组成的键值对,其中key是唯一的,不能有相同的key,map.find(key),通过find函数查找key对应的value。

    map1.insert(pair<int,string>(nums[i], i));

    map.find(key) 返回迭代器,通过迭代器再去访问元素,->first,->second

    map.begin(),map.end(),通过迭代器访问。

    multimap:

    红黑树

    可以有相同的key值。

    java hashmap:

    hashmap是通过哈希表来实现的。

    待更新,完善

    相关文章

      网友评论

          本文标题:2018-07-12

          本文链接:https://www.haomeiwen.com/subject/hoyrpftx.html