PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x
+ n6 e  @* ~8 K4 @9 T+ |( p8 D
/ @* S0 H( B' Q6 `+ T) [, B0 T

  d. m4 G2 }' W5 T! U+ s+ L
+ @8 s. Z. y% u' O/ A$ q4 N3 D

( |, e$ k" h8 f9 J, @/ JC++ STL 的实现:
2 J$ m& l( n( \) X
) Q# o% Y! m$ g2 ?* k3 r

9 b, y) A& G* [6 t5 d1.vector  底层数据结构为数组 ,支持快速随机访问
# c$ w, v$ N9 U' _" e
1 E+ v, y0 \' A

2 t, e/ J9 e% u8 y5 A+ |% _  Q" X2.list    底层数据结构为双向链表,支持快速增删/ d5 y3 Y4 L& W6 P8 o8 Y$ E
  a# r. ~3 }7 ?

4 s( d) X# F* O1 Y, B0 s3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
3 D$ @8 [8 f  A6 S$ n
( N& }: ^3 i& M9 `' I0 p

" G# M3 f* K# _; U; |4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
4 L  W, t0 N' |( [3 x+ G0 {  l2 H1 A1 q) ]

! v7 S/ X! |" n. K9 E  t+ z5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
' i' d& ?7 M6 O% d) u2 k1 p' H8 a: l6 a6 z5 k& u  r

. w/ [* I. @1 \5 e- ]4 b, w+ e6.45是适配器,而不叫容器,因为是对容器的再封装
3 y+ I' k+ i) B0 X1 n& ~! v  a) ]$ @

- b, B- |7 T$ \# c! _8 w7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
9 p/ @, o" ~! f! @, f' r7 |" p4 L2 e/ v" R- i

5 e, d: S+ T  w* h3 N* L8.set       底层数据结构为红黑树,有序,不重复
3 k- A7 _' O& X0 s% ~' K
! X  \  P8 |0 }" U, D
; v1 x, a5 g4 u, ?! Y5 O5 T5 \! V4 ]
9.multiset  底层数据结构为红黑树,有序,可重复
5 l; w* a& y5 n7 f7 w
) x; h0 k+ z" ?; h! v3 P

$ }  d; b+ F! x" |" b10.map      底层数据结构为红黑树,有序,不重复' e" t# w9 R" [! E  N
7 M: m+ w7 m3 U$ U+ j2 P  _
# a7 {) T3 h6 k
11.multimap 底层数据结构为红黑树,有序,可重复# T, |" {( p4 `4 w! x) Q7 ]& D* k

. E  Y9 l6 }5 @6 ~6 g, R

) @( P# Z% c0 S% I12.hash_set 底层数据结构为hash表,无序,不重复
3 ]: O- O- ~  N7 q: Y! E) M9 k" x! ~0 b+ ^
6 i( G& [! n9 s# A, a
13.hash_multiset 底层数据结构为hash表,无序,可重复 / @9 t. C% O& _2 z8 Z) s4 t" T+ m$ Y1 k

1 c* {# o8 l1 K: c

- \  l* B2 N0 L! f% I' n14.hash_map      底层数据结构为hash表,无序,不重复' Q8 \) ^/ l' |/ e: a2 K
" Q0 ?% J7 @. R3 }7 D: @6 [
* R# m( a& e5 M1 O) |
15.hash_multimap 底层数据结构为hash表,无序,可重复
. m+ b- i5 X6 W9 I9 k
$ V/ [5 J5 k8 }% \$ y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了