PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x
1 Q2 F! m) P4 i2 w
- b* m9 h+ G9 Q, d2 i& s
6 ~% H4 L8 W+ u

1 P8 u# \/ J7 K+ m: q
( E& D( ]9 d3 h' _& v& v/ Y
C++ STL 的实现:
$ i' A4 r# f/ Q: f, _, P  v5 I% \' P5 C( p* M
/ w: k5 _5 ?7 D" d. M2 w
1.vector  底层数据结构为数组 ,支持快速随机访问; H9 B- I7 h/ M* d

8 P3 \- _) w1 R1 K4 D. ~" o+ |8 D
' ^" ^( H* _1 P+ M% c) W/ H! M
2.list    底层数据结构为双向链表,支持快速增删9 u3 g7 ~$ [3 B  V: H9 p

. N5 u( E0 a+ `7 [6 @+ r4 \

* r8 @. Y1 d3 N9 o6 P3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问' F$ [5 z0 f1 P  H* B
& E" D/ Q% W- _3 t/ s2 u2 F

8 l6 }( ~! ~  p4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
5 P2 S% r# x5 S3 E# W" I. a" h+ ]
( V) E8 ]5 b; g
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时9 v; J: L8 {) r1 V4 R6 [3 n

( v0 Q) S* J. d: u$ V/ d* l  ~; ~

, X. K" F" E' u! b: s6.45是适配器,而不叫容器,因为是对容器的再封装
7 U. V$ {" R0 L: A+ k  L0 O, m5 i; s

( l5 s$ X) k) S: U2 w3 P7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
4 H' Z  {% h* W( y8 R. D8 o4 k- j: n; ^
  p. E% {( ]2 W5 i
8.set       底层数据结构为红黑树,有序,不重复
* p- [+ _) ~9 L" I! T7 h& }0 S! ^3 o

) r7 d' O& {& w7 c- q9.multiset  底层数据结构为红黑树,有序,可重复 * X& N' R. @, E/ c) }
8 E3 S3 x) C& t2 M; [8 j. J

5 f1 g3 A6 I5 z5 H10.map      底层数据结构为红黑树,有序,不重复
4 i/ S" i" S! k" Z( g
) X, n1 [8 l0 w/ r- T4 [9 f$ `8 Y2 Y* {

5 j$ `+ o! `1 M9 m11.multimap 底层数据结构为红黑树,有序,可重复
! w, X& Y& q% {6 E# H# [9 l7 G* n8 l+ [

! V2 T4 n3 k% ^2 u' j6 F12.hash_set 底层数据结构为hash表,无序,不重复: @( f' U7 I4 n& E
0 r4 E/ `! Z6 O) l  U" c

( o8 C7 ?8 U3 ?: \- o. ]8 G13.hash_multiset 底层数据结构为hash表,无序,可重复 # z  j. R9 {3 h) ~6 w

: p9 u' L/ s. P& T
$ t& d" m# P8 B9 [: b
14.hash_map      底层数据结构为hash表,无序,不重复
* p. G+ Z" j9 G5 Z& f6 _  E" b) E9 ~/ W

+ c  Z* v% P; X0 ?5 O8 @) b15.hash_multimap 底层数据结构为hash表,无序,可重复 " C& g: f/ ]/ L- n
5 I# N, [) Y% \2 A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了