3 - 6 测试程序-各种容器实例

1 测试程序、辅助函数

 输入基本类型、输入对象;比较两个long、两个string等不等

 

2 array的使用

计算时间的方法clock_t; array.data()传回整个数组在内存中的地址;qsort()进行排序 + bsearch()进行查找,如果是乱的,只能用顺序查找;

 

3 vector的使用

注意,都有namespace;

vector的空间是2倍数,2,4,8,16的增长;size真正元素的个数,capacity两倍增长。从另一个地方找到2倍的空间,把元素一个个copy过去。

push_back为啥用try和catch,怕空间不够。如果10亿呢?挖不到内存,就会bad_alloc异常。c++标准库有100多个算法

1)find,没有排序吗,返回指针;

2)sort + bsearch:反而比find要慢!也许sort本身就很慢

 

4 list

 list有个max_size()、deque也有max_size()

list容器里面有自己的sort(),有自己的,用自己的

 

5 forward_list,单向列表

单向链表没有size 

 

6 gnuc的list:

 

 7 deque:

先跳过

 

 

8 stack(一个deque涵盖了stack,容器的adapter)

push、pop、top

 

9 queue(一个deque涵盖了queue, 容器的adapter

 

push、pop,方向不一样

终于:容器的adapter,第六大类

为什么stack和queue没有iterator:如果有的话,就可以改变队列中间的值,这样就破坏了先进后出和先进先出的了。

 

10 multiset

 

使用insert,会插入到该插入的位置

这里竟然用了两个find:自己的find和全局的find,为什么可以用两个?

 

10 multimap

用key来找。multiset不可以用[],注意pair。不可以用[]

pair.first, pair.second

 

11 unordered_multiset

篮子的个数可能比元素还要多。如果元素的个数大于等于篮子,元素个数就要扩充2倍。

load_factor() 是什么意思

 

 

 12 unordered_multimap

 

13 set(不能重复)

所以是32768个数字

 

14 map(不能重复)

  

gnuc:

 

posted @   妖山鬼店  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示