摘要:Iterators begin: end: rbegin: rend: cbegin: cend: crbegin: crend: Capacity size: length: max_size: resize: capacity: 返回实际分配的存储空间的大小,一般大于等于 size 。这样能优化
阅读全文
摘要:bitset: A bitset stores bits。大小通过参数传递,在编译时确定。可变的可参考 vector<bool>。 constructor default: integer value: 传入 unsigned long long val。 string: C_string: 1 /
阅读全文
摘要:unordered_map: 和 unorder_set 相似,该容器内部同样根据 hash value 把键值对存放到相应的 bucket(slot)中,根据单个 key 来访问 value 的速度很快。 unordered_multimap: 操作和 unorder_map 相同,不同点是 ke
阅读全文
摘要:map: 默认根据 key 排序(从小到大),能够通过 backet operator(operator [ ]) 来获取元素,内部由二叉搜索树来实现(binary search trees)。 multimap: 操作和 map 相同,不同点只是 key 可以相同。 Iterators begin
阅读全文
摘要:unordered_set:容器内的元素无序排列,基于值进行获取单个元素速度非常快。内部根据它们的 hash value 被组织成 buckets(slot)。 unordered_multiset: 操作和 unordered_set 相同,只是 key 可以重复。 Iterators begin
阅读全文
摘要:set: Sets are containers that store unique elements following a specific order。集合里面的元素不能修改,只能访问,插入或者删除。内部由二叉搜索树来实现(binary search trees);默认排序为:数字从小到大的顺
阅读全文
摘要:deque: 也被叫做 “deck” ,是一个双端队列(double-ended-queue)。大小能动态变化。 Iterators begin: end; rbegin: rend: cbegin(c++11): cend(c++11): crbegin(c++11): crend(c++11):
阅读全文
摘要:stack: 执行 LIFO (Last in First out)操作。默认为底层为 deque 来实现。 Member functions empty: size: top: push: pop: emplace(c++11): swap(c++11): STL源码剖析部分补充 1,stack
阅读全文
摘要:1,queue: 执行FIFO 类操作,底部是 deque 来实现。 Member functions empty: size: front: 获取队首元素 back: 获取队尾元素 push: 入队队尾元素 pop: 出队队首元素 emplace(c++11): swap(c++11): 2,pr
阅读全文
摘要:forward_list(c++11): 内部是一个单链表的实现;但是为了效率的考虑,故意没有 size 这个内置函数。 Constructor 六种构造方式default; fill; range; copy; move; initializer list; Iterators before_be
阅读全文
摘要:list: 是一个双向链表。和 forward_list(单向链表)相似。 Constructor(同 vector 相似) default: fill: range: copy: move: initializer list: Iterator(同 vector) begin: end: rbeg
阅读全文
摘要:1,vector 是一个可以动态增长的容器,其访问方式和 array 一样可以进行随机访问,不同的是 vector 在分配存储空间时不是一次一个空间的分配,而是会分配多余的空间,这样在新插入数据时,可以避免 再次分配存储空间的操作造成的性能损失,从而达到一个性能和内存的平衡。 Iterator有下面
阅读全文
摘要:1,array(仅c++11支持) 固定大小的容器,不能进行扩展和缩小(vector 可以),预分配的大小只是一个参数,在编译时确定真正的大小。 Iterator 有下面几种: begin: [ ) end: [ ) rbegin: ( ] return reverse iterator to re
阅读全文
摘要:1,printf,cout 输出是从右往左压栈的。 2,类型转换。https://blog.csdn.net/gaoranfighting/article/details/44351831 3,const 的不同位置产生的区别:https://blog.csdn.net/u010571660/art
阅读全文
摘要:1,求一个数转化成二进制后包含1的个数 2,判断一个数是不是 2 的 N 次方(2,4,8,16...),不可用循环语句。 3, 找出两个数字中的最大值。不用判断语句。 4, 不用任何中间变量,将 a,b 的值进行交换。
阅读全文
摘要:50. Pow(x, n) (中等) 96. Unique Binary Search Trees(很快) 1 class Solution { 2 public: 3 int numTrees(int n) { 4 long ans=1; 5 for(int i=n+1;i<=2*n;i++) 6
阅读全文