zoukankan      html  css  js  c++  java
  • 容器

    C++11把Array、Forward-List、无序容器包装成了类。

    C++标准库有sort排序函数,有的容器有自己的sort,有自己的,优先用自己的。

    序列式容器(Sequence Container):Array数组(固定大小)、Vector向量(单向扩充)、Deque双向队列(两端扩充)、List链表(双向指针)、Forward-List单向链表(单向指针)。元素放进去有先后顺序。

    关联式容器(Associative Containers):Set、Multiset,Map、Multimap(有键-值对)底层是红黑树,元素insert进去慢,但是查找快,适合大量查找的任务。

    Multimap要insert键值对,find到的也是键值对的地址。

    multimap<long,string> c;
    char buf[10];
    for(long i=0;i<99999;i++)
    {
    c.insert(pair<long,string>(i,buf)); //pair一对
    }
    auto pItem=c.find(某个元素);
    cout<<(*pItem).second<<endl;//first是键、second是值

    Set、Multiset放进去的value就是key,所以不可重复,即重复的元素不会被放进去。

    Map、Multimap有键-值对,key不同,value可以重复。

    无序容器(Unordered Containers)

    哈希表,1列篮子,篮子里是链表(篮子后边挂了一串元素),链表不可以很长,否则查找耗时。

    篮子一定比元素多,因为有的篮子是空的,后边没挂元素。当元素满后,篮子数2倍扩充。

  • 相关阅读:
    linux_shell_入门
    Linux下安装jdk
    Linux杂记
    Linux常用命令
    Java 性能优化的五大技巧
    Java异常处理的9个最佳实践
    Java面试:投行的15个多线程和并发面试题
    敏捷持续集成详解
    gitlab系列详解
    git系列讲解
  • 原文地址:https://www.cnblogs.com/xixixing/p/12115599.html
Copyright © 2011-2022 走看看