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倍扩充。

  • 相关阅读:
    输入输出重定向
    MarkdownPad 2中编辑
    (转)Maven最佳实践:划分模块
    (转)maven设置内存
    我收集的sonar参考资料
    (转)linux service理解
    制作service服务,shell脚本小例子(来自网络)
    6
    4
    5
  • 原文地址:https://www.cnblogs.com/xixixing/p/12115599.html
Copyright © 2011-2022 走看看