随笔分类 - 5、std::容器
摘要:tuple,元组类型。头文件<tuple>,tuple是一个固定大小的不同类型(异质,heterogeneous)值的集合(这一点是tuple与其他常规STL容器的最大不同,即它可以同时存放不同类型的数据)。泛化的std::pair(也即std::pair是tuple的一个特例,长度受限为2)。当我
阅读全文
摘要:遍历 multiset 容器元素 multiset<int>::iterator i, iend; iend = ms.end(); for (i=ms.begin(); i!=iend; ++i) cout << *i << ' '; 反向遍历 multiset 容器 multiset<int>:
阅读全文
摘要:标准库还定义了一个 multimap 容器,它与 map 类似,所不同的是它允许重复键。 成员函数 insert() make_pair() 辅助函数来完成此任务。 find(k) 返回指向第一个与键 k 匹配的 pair 的迭代指针, count(k) 成员函数返回与给定键关联的值得数量。 low
阅读全文
摘要:1.0 Map std::map的底层实现是基于红黑树的,这是一种高度平衡的二叉搜索树。这种数据结构使得map在进行查找时的效率非常高。此外,map的插入操作对其他节点的干扰非常小,这得益于它在插入新节点时会通过哈希函数找到相应的位置,然后更新链表,从而避免了整个树结构的移动。 + 键值对存储:以键
阅读全文
摘要:1、vector是表示可变大小数组的序列容器。 2、就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。 3、但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。4、capacity()返回 vector
阅读全文
摘要:set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构, 在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值; 另外,还得确保根节点的左子树的高度与有字数的高度相等, 这样,二
阅读全文