PLM之家PLMHome-工业软件践行者

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

[复制链接]

2018-3-15 19:07:14 2508 0

admin 发表于 2018-3-15 19:07:14 |阅读模式

admin 楼主

2018-3-15 19:07:14

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

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

x
0 R% s% X' R  O) D* q2 b
0 \) z4 D- Q5 w. }3 o2 L

. I" M: N' R! j1 W! j
2 J) W, K0 O/ h. L& d6 V* {
" v0 X# h. K; h2 [  w7 y1 s
C++ STL 的实现:) Z6 w' s. \. ^# x+ Q5 M# E

; b0 _7 s; k. U, K7 |

) g* Y2 h7 _* x, |7 C4 b1.vector  底层数据结构为数组 ,支持快速随机访问
( o! u+ G1 M( E! |" w, x0 I/ g8 y+ q/ J# F; c

4 m1 e  T# H* W4 _2.list    底层数据结构为双向链表,支持快速增删$ h. I3 |1 b% J9 X& X/ f
+ _4 |) y! m1 }5 n
" h( P: n5 I' P) L1 K( J
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
# x. l$ I" U1 J* a5 D  P* }7 a. S1 `6 A: d% p9 J% v5 N! j

9 S& j5 }& w: X) }& D+ @4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
; R' x+ q. q1 J* J  f" J; |4 i4 N# P" W1 H1 m9 e- j: s

/ p5 l! r7 m0 H: j3 j) K/ D; F5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时! U. k: g" R) L
+ ?2 u" D) z$ S7 b/ S

# }; a1 ?# {/ v6.45是适配器,而不叫容器,因为是对容器的再封装0 {/ E* s" J5 [8 p/ N4 m* r

0 i; N" m+ f) @: R% d0 P

5 S0 Y& Z+ d1 m& k& l7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
: j  K- X1 z0 M. X$ B5 J
) ~8 R; ^) K& u/ j; @
$ M; I/ c7 g. C0 H) |
8.set       底层数据结构为红黑树,有序,不重复
' `9 |# C7 z7 k+ I* Q8 e2 j  v/ Z0 D. D# g! L) U  \0 `# O( A  ]: ]* g

8 H' A; ^$ ?# U1 F1 T2 r9.multiset  底层数据结构为红黑树,有序,可重复 0 f2 F. s6 I! Q, M* s

2 H  K, H/ G  w) E# k& V
7 {2 X2 Y7 {7 w1 \2 E! g
10.map      底层数据结构为红黑树,有序,不重复
" g8 }6 l& r$ `0 {5 w+ @
% ~* w6 N2 ]) t- a( W" w- y
6 h7 G$ N) `; S3 ~
11.multimap 底层数据结构为红黑树,有序,可重复) B9 Z& `( x( D2 d$ l0 r( E
% c1 Y4 K3 B" w! z; s% o

# C) j7 H& w1 `+ ^9 R' f. X12.hash_set 底层数据结构为hash表,无序,不重复
; q. i- f- }0 c" U) q# }' y1 ]- S% y' ?' h& i. o3 f. d6 R
* ?# Y; Q" n4 \$ W5 p- R& Z
13.hash_multiset 底层数据结构为hash表,无序,可重复 # _' d4 [( j* D2 j0 k; i9 _
: G1 h7 a4 ~# r& g

8 E' M* T) d3 Y14.hash_map      底层数据结构为hash表,无序,不重复
7 ~3 h2 w, b' P: e$ o1 ]  @8 D  P6 p$ U

  s( Y' [2 ]7 ^4 @" Q5 B8 Y15.hash_multimap 底层数据结构为hash表,无序,可重复
5 M" r% k" _. H6 b
! j% c/ e" B' K. s1 i0 x8 ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了