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

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x

9 ~  p; n/ P# A9 G% F( e% s# p) u8 P
. @+ U( [  v; I/ |( |! [5 ~2 C
+ B8 N2 t3 N# R* j+ Z( \/ {: A
+ v. f* u3 e4 J3 y
1 R- }5 Z7 [1 t7 q
C++ STL 的实现:, k% H" o4 C9 o

4 H3 S1 w7 O6 b
; r5 J' F/ T! {2 X5 y: ~
1.vector  底层数据结构为数组 ,支持快速随机访问
* H# u9 A# i6 F+ B' x, C
% o7 }0 Q3 F1 V7 Z$ q

4 Q+ E) n# H: R. n* P# \1 A2.list    底层数据结构为双向链表,支持快速增删( H& H1 x3 n! p) T! h
6 X! }  ]& {( M% z& b
3 D: N: r" J9 s  Q& i% m
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
+ L; K9 Z" r+ S: k. W5 R( D
+ R: w1 e4 q3 ?

/ B, l' [  |( f3 S+ U' Y4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
' ?9 A# n. }" [. K8 [9 F7 |+ h6 B3 c+ H& Q4 o

& ?/ j4 @0 D' y5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
4 D  M; \) F6 O4 C# g" t
$ K1 K4 p: ]5 Z, x
1 i3 g3 v/ @; L5 S. v
6.45是适配器,而不叫容器,因为是对容器的再封装! Y& O# G% L3 a, B: ?

$ J& A+ Y6 x, p) h+ o9 A: j7 R
0 @/ f% _0 e% D! o, ]9 \
7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现" B1 _0 E* V3 v5 m, `

- p1 k, u6 @# X- s7 T4 K
6 U: f( x1 z/ x! u+ L
8.set       底层数据结构为红黑树,有序,不重复' _* i3 ^2 `! N9 u

/ r, g% b: B0 o; Y5 N, o

: z- p& h# p! T" y. L9.multiset  底层数据结构为红黑树,有序,可重复
# M3 Z( y" u+ i, _; v9 Z% _' ~$ `2 K; O! w
7 H8 T! E5 L; M9 B  Z4 |
10.map      底层数据结构为红黑树,有序,不重复
0 k8 V+ j3 U* T: u' X. z6 i' r; L8 p4 D2 ^4 x: [

8 ^2 O$ R1 |: c) I3 s11.multimap 底层数据结构为红黑树,有序,可重复- U  S3 K. G# c

4 {0 K: g7 ?6 C# ^, J* L

9 i0 m2 ~2 B0 d* [; ?' y  U12.hash_set 底层数据结构为hash表,无序,不重复
! {/ Y  f0 l7 [# r) U. X4 l) s: B9 T

6 |6 n1 Q7 I4 ?13.hash_multiset 底层数据结构为hash表,无序,可重复 ) d: T1 K% J2 I: ?9 A  i+ x) N
/ I+ Y5 D+ ^( {" E0 W. f

& b7 V0 |: s) _* R5 @9 |1 j4 K' c& P14.hash_map      底层数据结构为hash表,无序,不重复2 V" }2 N" r* }3 ]4 U% P# k
8 L- |' y5 f8 m: C: B9 G$ \
- y9 h* u  y& u- U, N
15.hash_multimap 底层数据结构为hash表,无序,可重复
5 w8 k$ N: K) \, W& ^6 ~- }6 N, Y: z6 H( D4 v+ ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了