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

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x

/ q# E$ K8 d9 c: x( l" q9 Y* k$ S6 ?- Y; Z$ z: U* d

" B) r3 \6 Y+ |- k8 ]: P: ^5 {* |, B# s4 R
$ B/ G! z6 c$ f3 t. {, F
C++ STL 的实现:
# R3 Q, t. f$ |9 Q
, q7 y0 l' Q; M4 C/ X+ K/ D

5 g; f. W2 J7 c. F; B: |$ S1.vector  底层数据结构为数组 ,支持快速随机访问9 D/ B& O4 l7 ^0 w% C

6 E3 H3 r8 d6 J: k5 t
# x' K" g% ^7 k* s6 e
2.list    底层数据结构为双向链表,支持快速增删$ m! H+ N" v+ z8 {. }

1 a2 Z; S7 h3 _# I! ?' [6 \

$ N5 |, I& h1 E4 b- j3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问$ m) }( J" X' A
0 l) e& M; V" j: m' G6 S1 g
' i) e+ K# l, x& T6 d
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
8 {; E2 F; L! X* y/ [/ _
' s6 h. b9 }+ i: _6 S1 U# u% M! K

5 W- `: u6 Q& H/ @) O5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时; I, ^$ c3 b, d* W0 k

1 @9 V& S$ D$ T3 l4 o6 @
( r: k5 ^. M# n% h8 G  H& _
6.45是适配器,而不叫容器,因为是对容器的再封装4 _6 n0 T' A- Z- o; v. D1 v1 c3 O

+ i7 j& Q# h  w. x# E8 c9 H

6 E% v: i/ h% J- p% i7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现4 m/ i+ `+ H0 X: d4 V4 S' s. Y, G2 p; m
% ~7 E% L0 w/ Y

3 H1 ?; K6 I; P1 u" a. B8.set       底层数据结构为红黑树,有序,不重复
8 H* y- h2 f! I6 `" L! r! o) C% X/ m; t8 }7 [& V) }- y4 ~

: B6 }& j9 n* O6 r' }6 P( g2 h3 Q1 q3 D9.multiset  底层数据结构为红黑树,有序,可重复 5 B1 ^4 |% i. j+ v- |/ v; o

- T$ C3 O( J$ E

$ _+ q! H, _/ d: M4 r! R10.map      底层数据结构为红黑树,有序,不重复
7 Y+ K# ~% g) t2 g+ K: I
7 T+ W7 c: S. |/ n
4 L; _6 v: l( P1 T4 o: m( [
11.multimap 底层数据结构为红黑树,有序,可重复
8 t/ w8 U$ _8 j" V6 c  T
) s- O- h! Q( Y- Q/ _+ [+ a

6 d3 A5 k7 r* C9 H4 c/ K. Z- [12.hash_set 底层数据结构为hash表,无序,不重复
8 q7 U! ?: H. v4 Y8 c/ T
9 d* k( M9 l+ P( h4 M* f+ @. y
, l0 C! e8 B2 ]. X8 g) P
13.hash_multiset 底层数据结构为hash表,无序,可重复
. [1 w4 @1 u; M
4 m! G  q& T' X4 u: w3 f+ E9 j  M

0 n- y  @$ I4 a$ f1 V14.hash_map      底层数据结构为hash表,无序,不重复
, o& x" V4 K  a" t, V1 j0 {) i+ _: N9 Q9 i( g" T: |* v

7 |" G' W" C% w$ g3 n2 O. |, G15.hash_multimap 底层数据结构为hash表,无序,可重复
6 f& F4 A& w3 g2 ~
) g; h3 y! N- C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了