查看: 2740|回复: 1

[转载电子书] C++ STL相关使用特点大全,太有用了

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2018-3-15 19:07:14 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×

/ v0 r( B0 n" }( V8 n7 _. r- L
9 A$ S2 W( y: U- }8 Q

" l0 n3 A% z! H& I& R# q9 b
( p" H% C! h: K% p5 I2 j

; ~: x% V9 e$ x8 L& P# e: f! d4 u( Z4 sC++ STL 的实现:
( U1 S. ^. l$ j4 l! x' d6 y& J" b7 q0 @: X  Z1 m4 E
8 u+ A$ s1 Y0 a& H
1.vector  底层数据结构为数组 ,支持快速随机访问( v, }/ |* p3 @; h

0 O( D5 x# ~/ Q9 _

& E% s5 o! F: u4 a3 ?0 n2.list    底层数据结构为双向链表,支持快速增删
- i$ g% a) e4 C( Y7 M$ d/ T3 r! [& R+ u6 X- K- M) U. r2 Q# R
+ |1 ~! l# X; o2 s! M4 p% N0 c7 I5 c
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问& ?: i7 d5 j/ u* r% @6 A9 x1 p

8 N5 Y7 ~) g# u/ T6 O
1 C7 O- y+ B* }; i* \1 D
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时& `( C& L5 w% q( ^

+ i3 J1 l, w  M" W3 D3 F& i& D
6 C1 O) j, Y* x2 n# x. ^
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时6 I* O& C, |5 p% b! l+ m

; Y) Q. d) G; e4 S

) s$ p  x+ D& s( n# c' I" {, o6.45是适配器,而不叫容器,因为是对容器的再封装
5 q( ?( H/ \4 s; p0 h: M0 w1 _+ `. M( M

, H/ s# h8 L$ S' ?- z0 U7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现9 @! o) s& P9 y* K0 |
% b6 H5 m6 L4 R' J& |6 w- U: S: s
+ z( m, k0 U4 L* I# \! F! z! f
8.set       底层数据结构为红黑树,有序,不重复0 f7 |) T& Z3 {
1 G- W, R0 L& d
6 _. l8 I- n$ p+ C$ f% @
9.multiset  底层数据结构为红黑树,有序,可重复
. i# ]8 S: Z# T. v6 |
+ A5 |# {6 T7 d2 P
' [) M  n, W4 x% \
10.map      底层数据结构为红黑树,有序,不重复  e2 W+ `3 o4 A8 w

9 h' x  d/ @- E1 ]  M5 d7 Z
- ?& ^7 I0 c. e9 O+ a) ^
11.multimap 底层数据结构为红黑树,有序,可重复/ f  c0 B* o3 n" a: `
% j+ j! N0 H' s2 A/ F/ v2 ^# `6 h
% z" ~; g$ V0 L8 ^# ]
12.hash_set 底层数据结构为hash表,无序,不重复/ R% L  v; ~  g6 r9 t4 a4 L

; q" J, e; V" J/ u! {8 B

2 I% ]% ^- D) M$ J13.hash_multiset 底层数据结构为hash表,无序,可重复
1 Y5 ]; `9 \$ p* _8 |2 U+ M8 p' M5 N. G/ C# L' v# h5 M9 Y1 ~

% ^+ ?1 n* ~( d' k' d, L14.hash_map      底层数据结构为hash表,无序,不重复
) h3 \- H) m( i- i! q# m
: W5 ]* ^  W! r. \
/ Y( D5 f& ?. a; ~% P4 k
15.hash_multimap 底层数据结构为hash表,无序,可重复
8 A+ D$ S: A; ]7 n2 p5 u! ]: p3 Q6 P4 `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部