五边形材质包1.7.2
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/24 07:17:56 体裁作文
篇一:2013年北京市17区中考二模数学试题汇编1.1-7题
、选择题(本题共32分,每小题4分)下面各题均有四个选项,其中只有一个是符合题意..的.
1 . ?6的绝对值是
A. ?6 B.
11
C. ? D. 6 66
6
7
5
2. 2012年我国全年完成造林面积6 010 000公顷.将6 010 000用科学记数法表示为
A. 6.01?10 B. 6.01?10 C. 0.601?10 D. 60.1?10 3.如图,在△ABC中,点D、E分别在AB、AC上,DE∥BC.若AD?4,
7
DB?2,则
DE
的值为 BC123
A. B. C. D. 2
234
4. 下列计算正确的是
236842
A. a?a?a B. a?a?a C. (a3)2?a6 D. 2a?3a?6a
5.下列图形可以由一个图形经过平移变换得到的是
A.
B.
C.
D.
6. 如图,⊙O的半径为5,AB为⊙O的弦,OC⊥AB于点C.若OC?3,则AB的长为
A.4
B.6
C.8
D.10
设两组同学得分的平均数依次为甲,乙,得分的方差依次为S甲,S乙
,则下列关系中完
全正确的是
222222
A.甲?乙,S甲 B. 甲?乙,S甲 C.甲?乙,S甲 D. ?S乙?S乙?S乙
22
甲?乙,S甲 ?S乙
一、选择题(本题共32分,每小题4分)
下面各题均有四个选项,其中只有一个是符合题意的. 1. 3的相反数是 A. ?3
B.3
C.
11
D. ?
3 3
6
6
2. 太阳的半径大约是696 000千米,用科学记数法可表示为
A.696×10千米 B.6.96×10千米 C.6.96×10千米 D.0.696×10千米 3.下列四个立体图形中,主视图为圆的是
A B C D 4.已知在Rt△ABC中,∠C=90°,∠A=?,AC=3,那么AB的长为 A.3sin? B.3cos?
C.
3
5
33
D.
cos?sin?
5. 抛掷一枚质地均匀的正方体骰子,骰子的六个面上分别刻有1到6的点数,掷得朝上一面的点数为3的倍数的概率为 A.
1
6
B.
1 4
C.
1 3
D.
1 2
6. 若一个多边形的内角和等于720?,则这个多边形的边数是 A.5
B.6
C.7
D.8
7. 在一次中学生田径运动会上,参加男子跳高的15名运动员的成绩如下表所示:
这些运动员跳高成绩的中位数和众数分别是 A.1.65,1.70 B.1.70,1.70
C.1.70,1.65 D.3,4
一、选择题(本题共32分,每小题4分)
下面各题均有四个选项,其中只有一个是符合题意的. ..1.?3的倒数是
11A. B.3 C.? D.?3
332.下列运算中正确的是
A.a?a?a2 A.5
B.a?a2?a2 C.(ab)2?a2b2 D.(a2)3?a5 B.6
x
3.若一个多边形的内角和是720°,则这个多边形的边数是
C.7
D.8
4.
y?2?0,则y的值为
A.8 B.6 C.5 D.9 5.下列图形中,既是中心对称图形又是轴对称图形的是
A B C
D 6.对于一组统计数据:3,3,
6,3,5,下列说法中错误的是 ..
A.中位数是6
B.众数是3 C.平均数是4 D.方差是1.6 7.如图,边长为3的正方形ABCD绕点C按顺时针方向旋转30 °后得到正方形EFCG, EF交AD于点H,则四边形DHFC的面积为 A.3 B.33
C. 9 D.63
一、选择题(本题共32分,每小题4分)
下面各题均有四个选项,其中只有一个是符合题意的. 1.??的绝对值是
A.?2 B.?
2.我国质检总局规定,针织内衣等直接接触皮肤的制品,每千克的衣物上甲醛含量应在0.000075千克以下.将0.000075用科学记数法表示为 A.7.5′10 B.7.5′10
-45
-5
11 C. 22
D.2
C.0.75′10 D.75′10 3.如图,在△ABC中,DE∥BC,如果AD=3,BD=5,那么
DE
的值是 BC
-6
3
B. 53
C. D.
8
A. A.
9
255 8
4.从分别标有1到9数字的9张卡片中任意抽取一张,抽到所标数字是3的倍数的概率为
1112
B. C. D. 9839
5.如图,圆锥的底面半径OA为2,母线AB为3,则这个圆锥的侧面积为 A.3π B. 6π C. 12π D. 18π
6.如图,下列水平放置的几何体中,主视图不是长方形的是 ..
7. 某校篮球课外活动小组21
则该篮球课外活动小组21名同学身高的众数和中位数分别是 A.176,176 B.176,177
C.176,178 D
.184,178
一、选择题(本题共32分,每小题4分)
1
1.?2的绝对值是 A.2 B.
2
C.-2
D.?1
2
2.随着电子制造技术的不断进步,电子元件的尺寸大幅度缩小,某种电子元件的面积大约只有0.000 000 7毫米2,将0.000 000 7用科学记数法表示为
A.7×106 B.7×10-6 C.-7×107 D.7×10-7 3. ?a3?(?a)2的运算结果是A. a5 B.-a5 C.a6 D.-a6 4.如图,点A、B、C都在⊙O上,若∠AOB?68?,则∠ACB的度数为 A.68
?
B.60 C.34
2
??
D.22
?
5.抛物线y?(x?2)?2的顶点坐标为
A.(?2,2) B.(2,?2) C.(2,2) D.(?2,?2) 6.某射击队要从四名运动员中选拔一名运动员参加比赛,选拔赛中每名队员的平均成绩 方差S2如下表所示.如果要选择一个成绩高且发挥稳定的人参赛,则这个人应是 A.甲
B.乙
C.丙 D.丁
7.下面四个图形中,三棱柱的平面展开图是
( 2013年北京市石景山区二模数学1-7题)
篇二:高中数学(人教A版选修1-2)同步练习:第二章 2.1.1 合 情 推 理
数学·选修1-2(人教A版
)
2.1 合情推理与演绎推理 2.1.1 合 情 推
理
?达标训练
1.数列2,5,11,20,x,47,?中的x等于( ) A.28 B.32 C.33 D.27
答案:B
2.已知三角形的三边长分别是a,b,c,其内切圆的半径为r,
1
则三角形的面积为:S=a+b+c)r,利用类比推理,可以得出四面
2
体的体积为( )
1
A.V=
31
B.V=
31
C.V=S1+S2+S3+S4)·r(其中S1,S2,S3,S4分别是四面体四
3
个面的面积,r为四面体内切球的半径)
1
D.V=ab+bc+ca)h(h为四面体的高)
3
解析:根据类比的一般原理,三角形的边长和面积分别类比于四面体的面积和体积,因而可以得出答案C.
答案:C
3.根据给出的数塔猜测123 456×9+7等于( )
1×9+2=11 12×9+3=111 123×9+4=1 111 1 234×9+5=11 111 12 345×9+6=111 111
A.1 111 110 B.1 111 111 C.1 111 112 D.1 111 113
解析:由数塔呈现的规律知,结果是各位都是1的7位数. 答案:B
4.等比数列{an}满足:m,n,p,q∈N*,若m+n=p+q,则am·an
=ap·aq.由此类推可得,在等差数列{an}中,若有m,n,p,q∈N*,且m+n=p+q,则有( )
A.am·an=ap·aq B.am+an=ap+aq
amap
C..am-an=ap-aq anaq
答案:B
5.下面使用类比推理正确的是( ) A.“若a·3=b·3,则a=b”类推出“若a·0=b·0,则a=b” B.“(a+b)c=ac+bc”类推出“(a·b)c=ac·bc”
a+bab
C.“(a+b)c=ac+bc”类推出“(c≠0)”
ccD.“(ab)n=anbn”类推出“(a+b)n=an+bn”
答案:C
c
6.如右图所示,面积为S的凸四边形的第i条边的边长记为ai(i = 1,2,3,4),此四边形内任一点P到第i条边的距离记为hi(i = 1,2,3,4),若k,则?
1234i=1(aihi)=
2S
a1a2a3a4
4
k
类比以上性质,体积为V的
三个=
棱锥的第i个面的面积记为Si(i =
1,2,3,4),此三棱锥内任一点Q到第i面的距离记为Hi(i = 1,2,3,4),若
S1
1
S2S3S4
2
4V
4
===K,则? (SiHi)=( ) 34i=1
A.
KK2VVC. D.KK
3V B.
解析:从平面类比到空间,通常是边长类比为面积,面积类比为
1
体积,又凸四边形中,面积为S=a1h1+a2h2+a3h3+a4h4),而在三棱
2
1
锥中,体积为V=S1H1+S2H2+S3H3+S4H4),即存在系数差异,所以,
3
上述性质类比为B.
答案:B
?素能提高
1.下图是用同样规格的黑、白两色正方形瓷砖铺设的若干图案,则按此规律第n个图案中需用黑色瓷砖________块(用含n的代数式表示).
解析:第(1),(2),(3),?个图案黑色瓷砖数依次为: 15-3=12,24-8=16,35-15=20,?
由此可猜测第n个图案黑色瓷砖数为: 12+(n-1)×4=4n+8.
答案:4n+8
2.图1是一个边长为1的正三角形,分别连接这个三角形三边中点,将原三角形剖分成4个三角形(如图2),再分别连接图2中一个小三角形三边的中点,又可将原三角形剖分成7个三角形(如图3),?,依此类推,设第n个图中三角形被剖分成an个三角形,则第4个图中最小三角形的边长为________;a100=
________.
?
图1 图2 图3
1
答案:298
8
3.观察下列不等式:
131+2<
221151+2+2<,
23311171+2+2+2<
2344 ?
照此规律,第五个不等式为_____________________________.
11
解析:观察不等式的左边发现,第n个不等式的左边=1++23
2?n+1?-11
+?+
?n+1?n+1所以第五个不等式为
11111111+++<234566
1111111
答案:1++<234566
4.(2013·广州二模)数列{an}的项是由1或2构成,且首项为1,在第k个1和第k+1个1之间有2k-1个2,即数列{an}为:1,2,1,2,2,2,1,2,2,2,2,2,1,?,记数列{an}的前n项和为Sn,则S20=______;S2013=______.
答案:36 3981
5.半径为r的圆的面积S(r)=πr2,周长C(r)=2πr,若将r看作(0,+∞)上的变量,则(πr2)′=2πr.①
①式可以用语言叙述为:圆的面积函数的导数等于圆的周长函数. 对于半径为R的球,若将R看作(0,+∞)的变量,请你写出类似于①的式子②:_______________________________________.
②式可以用语言叙述为:_______________________________.
?43?43
解析:V(R)=R,又?3R?′=4πR2,故②式可填=4πR2,
3??
用语言叙述为“球的体积函数的导数等于球的表面积函数”.
?43?
?R?′=4πR2 球的体积函数的导数等于球的表面积函数 答案:?3?
6.(2013·江门佛山二模)将集合{2s+2t|0≤s<t且s,t∈Z}中的元素按上小下大,左小右大的原则排成如图的三角形数表,将数表中位于第i行第j列的数记为bij(i≥j>0),则b43=
________.
答案:20
7.在等差数列{an}中,若a10=0,则有等式a1+a2+?+an=a1
+a2+?+a19-n(n<19,n∈N*)成立.类比上述性质,在等比数列{bn}中,若b9=1,则有等式______________________成立.
篇三:九年级数学下册 29.1 投影练习2 (新版)新人教版
投影
一、课前预习 (5分钟训练)
1.下列说法正确的是( )
A.物体的正投影不改变物体的形状和大小
B.一个人的影子都是平行投影形成的
C.当物体的某个面平行于投影面时,该面的正投影不改变它的形状和大小
D.有光就有影子
2.下列四幅图形中,表示两颗小树在同一时刻阳光下的影子的图形可能是( )
图29-1-1
3.投影按照光线特征可分为_________、_________,正投影是指_________.
4.直角坐标系内,一点光源位于A(0,4)处,线段CD⊥x轴,D为垂足,C(3,1),则CD在x轴上的影子长为_________,点C的影子坐标_________.
二、课中强化(10分钟训练)
1.平行投影中的光线是( )
A.平行的 B.聚成一点的 C.不平行的 D.向四面八方发散的
2.在同一时刻的阳光下,小明的影子比小强的影子长,那么在同一路灯下( )
A.小明的影子比小强的长 B.小明的影子比小强的短
C.小明的影子和小强的一样长 D.无法判断谁的影子长
3.图29-1-2是小赵乘车按箭头方向在公路上行驶时,看到前面有两根电线杆的情形.若他继续向前行驶所看到情形在右边四幅中先后顺序应为( )
图29-1-2 图29-1-3
A.①②③④ B.①④③② C.④③①② D.④①③②
4.图29-1-4是北方某学校中午小明与小玉两同学在同一时刻看到同一旗杆及其影子的情况,小明在旗杆的西侧,小玉在旗杆的东侧.则小明看到的是____________,小玉看到的是
________.
图29-1-4
5.现有直径为1米的圆桌面,桌脚高1.2米(不计桌面厚度).如图29-1-5所示,在桌面正上方2.5米处有一盏灯.你能测算出晚上开灯后圆桌面在地面上的影子的面积吗?为什么?
(取π=3.14,(精确到0.1米)
图29-1-5
三、课后巩固(30分钟训练)
1.小华拿一个矩形木框在阳光下玩,矩形木框在地面上形成的投影不可能是( )
图29-1-6
2.图29-1-7是一根电线杆在一天中不同时刻的影长图,试按其一天中发生的先后顺序排列,正确的是…( )
图29-1-7
A.①②③④ B.④①③② C.④②③① D.④③②①
3.在太阳光下,转动一个正方体,观察正方体在地上投下的影子,那么这个影子最多可能是几边形( )
A.四边形 B.五边形 C.六边形 D.七边形
4.在安装太阳能热水器时,主要考虑太阳光线与热水器斜面间的角度(垂直时最佳).(如图29-1-8)当太阳光线与水平面成35°角照射时,热水器的斜面与水平面的夹角最好应为
_______
图29-1-8 图29-1-9
5.图29-1-9,画出线段AC、BC在平面上的正投影,当 AC⊥BC时请说明两影子的积与C点到平面的距离的关系.
6.如图29-1-10,已知两棵小树在同一时刻的影子,你如何确定影子是在什么光线下形成的?
图29-1-10
7.如图29-1-11所示,小鼠唧唧在迷宫中寻找奶酪,当它分别在A、B位置时未发现奶酪,等它走到C处,终于发现了,请指出奶酪可能所在的位置.(用阴影表示)
图29-1-11
8.画出下列图形的正投影,(1)投影线从物体的左方射到右方,(2)投影线从物体的上方射到下方.
图29-1-12
9.如图29-1-13所示,有甲、乙两根木杆,甲木杆的影子刚好落在乙杆与地面接触点处.
(1)你能画出此时太阳光线及乙杆的影子吗?(不能画,说明理由;能画,用线段表示影子)
(2)在所画的图形中有相似三角形吗?为什么?
(3)从图中分析高杆与低杆的影子与它们的高度之间有什么关系?与同学进行交流
.
图29-1-13
10.为了测量校园内一棵不可攀的树的高度,学校数学应用实践小组做了如下探索:
根据《自然科学》中的反射定律,利用一面镜子和一根皮尺,设计如图29-1-14所示的测量方案:把镜子放在离树(AB)8.7米的点E处,然后沿着直线BE后退到点D,这时恰好在镜子里看到树梢顶点A,再用皮尺量得DE=2.7米,观察者目高CD=1.6米,请你计算树(AB)的高度.(精确到0.1米)
图29-1-14
参考答案
一、课前预习 (5分钟训练)
1.下列说法正确的是( )
A.物体的正投影不改变物体的形状和大小
B.一个人的影子都是平行投影形成的
C.当物体的某个面平行于投影面时,该面的正投影不改变它的形状和大小
D.有光就有影子
解析:物体正投影的形状、大小与它相对于投影面的位置有关,所以A错;人的影子在电灯下形成的是中心投影,所以B错;根据正投影的相关性质可知C正确;有光但没有挡光物体也没有影子,所以D错.故选C.
答案:C
2.下列四幅图形中,表示两颗小树在同一时刻阳光下的影子的图形可能是( )
图29-1-1
解析:太阳光是平行的,相同地点相同时刻树与影的比应是一样的,影子的方向也应相同. 答案:A
3.投影按照光线特征可分为_________、_________,正投影是指_________.
解析:根据定义来回答,正投影是平行投影的一种特殊情况.
答案:中心投影 平行投影 平行投影中光线与投影面垂直时的投影
4.直角坐标系内,一点光源位于A(0,4)处,线段CD⊥x轴,D为垂足,C(3,1),则CD在x轴上的影子长为_________,点C的影子坐标_________.
解析:如图,利用相似三角形对应边成比例求得,影长为1,C点的影子坐标为(4,0). 答案:1 (4,0)
二、课中强化(10分钟训练)
1.平行投影中的光线是( )
A.平行的 B.聚成一点的 C.不平行的 D.向四面八方发散的
解析:根据平行投影的定义.
答案:A
2.在同一时刻的阳光下,小明的影子比小强的影子长,那么在同一路灯下( )
A.小明的影子比小强的长 B.小明的影子比小强的短
C.小明的影子和小强的一样长 D.无法判断谁的影子长
解析:路灯下投影为中心投影,不知道他们距离光源的远近,无法判定.
答案:D
3.图29-1-2是小赵乘车按箭头方向在公路上行驶时,看到前面有两根电线杆的情形.若他继续向前行驶所看到情形在右边四幅中先后顺序应为( )
图29-1-2 图29-1-3
A.①②③④ B.①④③② C.④③①② D.④①③②
解析:体会想象过程,可作实验.
答案:C
4.图29-1-4是北方某学校中午小明与小玉两同学在同一时刻看到同一旗杆及其影子的情况,小明在旗杆的西侧,小玉在旗杆的东侧.则小明看到的是____________,小玉看到的是
________.
图29-1-4
解析:北方影子偏北,本题要分清左右.
答案:(1) (2)
5.现有直径为1米的圆桌面,桌脚高1.2米(不计桌面厚度).如图29-1-5所示,在桌面正上方2.5米处有一盏灯.你能测算出晚上开灯后圆桌面在地面上的影子的面积吗?为什么?(取π=3.14,(精确到0.1米)
图29-1-5
解:如图,A为灯泡,EB为桌面半径,DC为桌面影子的半径.
∴AE=2.5,ED=1.2,EB=0.5.
∵EB∥DC, ∴AEEB?
. ADDC
篇四:1.....7.1--7.2 阶段复习题
平行线的性质与判定
一、知识点归纳
1、 同位角、内错角、同旁内角
如图1、图中共有_______对同位角,分别是_______________________________;
图中共有_______对内错角,分别是_________________________________; 图中共有_______对同旁内角,分别是________________________________.
2、 判断两直线平行的方法
(1)同位角相等,两直线平行,如图2,∵______=______,∴______∥______;
(2)内错角相等,两直线平行,如图2,∵______=______,∴______∥______;
(3)同旁内角互补,两直线平行,如图2,∵____+____=1800,∴____∥_____.
3、 平行线的性质
(1)两直线平行,同位角相等。如图3,∵______∥_______,∴_____=______;
(2)两直线平行,内错角相等。如图3,∵______∥_______,∴_____=______;
(3)两直线平行,同旁内角互补。如图3,∵____∥______,∴_____+_____=1800
3
2 4 4 图2 图1 图3
二、典型例题
例1:如图4,请指出∠1与∠2,∠3与∠B,∠A与∠C分别是哪两条直线被哪一条直线截成的什么角? 分析:找特征形:“F”,“Z”,“U”
图4
例2:如图5,已知∠1+∠C=1200,∠2+∠B=1200,AB与CD平行吗?说说你的理由。 分析:通过图形可以知道∠1=∠2.
例3:如图6,要判定AB∥CD,需要什么条件?尽可能多的写出来。 图5
分析:寻找两条直线平行的条件,首先找同位角、内错角和同旁内角.
图6
- 1 -
例4:如图7,AC⊥AB于A,BD⊥AB于B,∠C=480,求∠D的度数。
分析:说明AC∥BD,就可以得到∠C=∠D.
D
三、基础练习
1、如图8,AB∥CD,EF∥GH,∠1=950,下列结论错误的是( )
A、∠2=850 B、∠3=950 C、∠4=850 D、∠2+∠4=1800
2、如图9,已知,∠1=∠2,∠3=∠4,那么( )
A、∠1=∠3 B、∠2=∠3 C、∠1=∠4 D、AB∥CD
G 1 B E D 图8 图9 H
3、两条平行线被第三条直线所截,同位角的平分线组成( )
A、两条平行线,八个直角 B、两条平行线,十六个直角
C、两组平行线,八个直角 D、两组平行线,十六个直角
4、下列条件中能得到互相平行的直线的是( )
A、互为邻补角的角平分线所在的直线 B、对顶角的平分线所在的直线
C、两条平行线的一对内错角的平分线所在的直线
D、两条平行线的一对同旁内角的平分线所在的直线
5、如图10,已知AB∥CD,EF⊥CD,FM平分∠EFC,则( )
A、∠1>∠2; B、∠1=∠2;
C、∠1<∠2; D、∠1、∠2的大小不定
6、如图11,直线AB、CD被直线EF所截。
(1)如果∠1=700,∠2=700,那么____∥____,理由是__________________________;
(2)如果∠3=1100,∠4=1100,那么____∥____,理由是_______________________.
E M C B E F D B D F 图11 图10
M 7、如图,已知∠1=∠2,试说明:AB∥CD。 B 解:∵∠1=∠3,∠2=∠4( ) ∠1=∠2(已知)
- 2 - 4 N D
∴∠3=∠4( )
∴AB∥CD( )
8、如图,直线AB、CD、EF被直线GH所截,∠1=700,∠2=1100,∠2+∠3=1800,试说明:EF∥AB。 G 0A 解:∵∠2+∠3=180( ) B 0 ∠2=110( )
0 D ∴∠3=70( ) 2 又∵∠1=700 ( ) F E ∴∠1=∠3 ( ) H ∴EF∥AB ( )
d 9、如图,a∥b,c∥d, ∠1=480,求∠2、∠3、∠4的度数。 a
b
10、如图,已知直线AB、EF相交于M,直线CD、EF相交于N,且∠1=∠2,试说明;AB∥CD。 E
B M
F
11、如图,若∠1=∠2,AB∥CD,试说明∠E=∠F的理由。
C F A B
12、如图,DE⊥AC于E,BC⊥AC,FG⊥AB,∠1=∠2。试说明CD⊥AB。
- 3 -
篇五:7.2.1.序列式容器
序列式容器
【ITjob课程资料】
容器
在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以装入其它对象或指向其它对像的指针,这种对象类型就叫做容器。简单的说,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为(转 载于:wWw.SmHaIDA.cOM 海达 范文 网:五边形材质包1.7.2)这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处,就是“容器类是一种对特定代码重用问题的良好的解决方案”。
容器还有另一个特点是容器可以自行扩展。在解决问题时我们常常不知道我们需要存储多少个对象,也就是说我们不知道应该创建多大的内存空间来保存我们的对象。显然,数组在这一方面也力不从心。容器的优势就在这里,它不需要你预先告诉它你要存储多少对象,只要你创建一个容器对象,并合理的调用它所提供的方法,所有的处理细节将由容器来自身完成。它可以为你申请内存或释放内存,并且用最优的算法来执行你的命令。
容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言的基础。现在,几乎所有的面向对象的语言中也都伴随着一个容器集,在C++ 中,就是标准模板库(STL )。
和其它语言不一样,C++ 中处理容器是采用基于模板的方式。标准C++ 库中的容器提供了多种数据结构,这些数据结构可以与标准算法一起很好的工作,这为我们的软件开发提供了良好的支持。
容器是STL的基础,容器分2种:序列式容器和关联式容器。
序列式容器
序列式容器(也叫顺序性容器)是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集。顺序性容器中的每个元素均有固定的位置,除非用删除或插入的操作改变这个位置。这个位置和元素本身无关,而和操作的时间逻辑顺序有关。本节讨论序列式容器vector、list和deque的特点和用法,以及序列式容器的共同操作。
向量 vector :是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。
在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector 默认指定,这个大小即capacity()函数的返回值。当存储的数据超过分配的空间时,vector 会重?a href="http://www.zw2.cn/zhuanti/guanyuluzuowen/" target="_blank" class="keylink">路峙湟豢槟诖婵椤5庋姆峙涫呛芎氖钡模谥匦路峙淇占涫彼嶙稣庋亩鳎?/p>
首先,vector 会申请一块更大的内存块;
然后,将原来的数据拷贝到新的内存块中;
其次,销毁掉原内存块中的对象(调用对象的析构函数);
最后,将原来的内存空间释放掉。
如果vector 保存的数据量很大时,这样的操作一定会导致糟糕的性能(这也是vector 被设计成比较容易拷贝的值类型的原因)。所以说vector 不是在什么情况下性能都好,只有在
预先知道它大小的情况下vector 的性能才是最优的。
vector 的特点:
(1) 指定一块如同数组一样的连续存储,但空间可以动态扩展。即它可以像数组一样操作,并且可以进行动态操作。通常体现在push_back() 、pop_back() 。
(2) 随机访问方便,它像数组一样被访问,即支持[ ] 操作符和vector.at()
(3) 节省空间,因为它是连续存储,在存储数据的区域都是没有被浪费的,但是要明确一点vector 大多情况下并不是满存的,在未存储的区域实际是浪费的。
(4) 在内部进行插入、删除操作效率非常低,这样的操作基本上是被禁止的。vector 被设计成只能在后端进行添加和删除操作,其原因是vector 内部的实现是按照顺序表的原理。
(5) 只能在vector 的最后进行push 和pop ,不能在vector 的头进行push 和pop 。
(6) 当动态添加的数据超过vector 默认分配的大小时要进行内存的重新分配、拷贝与释放,这个操作非常消耗性能。所以要vector 达到最优的性能,最好在创建vector 时就指定其空间大小。
双向链表list:是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后继指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素链接起来。
由于其结构的原因,list随机检索的性能非常的不好,因为它不像vector 那样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元素越靠后,它的检索时间就越长。检索时间与目标元素的位置成正比。
虽然随机检索的速度不够快,但是它可以迅速地在任何节点进行插入和删除操作。因为list 的每个节点保存着它在链表中的位置,插入或删除一个元素仅对最多三个元素有所影响,不像vector 会对操作点之后的所有元素的存储地址都有所影响,这一点是vector不可比拟的。
list 的特点:
(1) 不使用连续的内存空间,因此可以随意地进行动态操作;
(2) 可以在内部任何位置快速地插入或删除,当然也可以在两端进行push和pop。
(3) 不能进行内部的随机访问,即不支持[ ]操作符和list.at();
(4) 相对于verctor占用更多的内存。
双端队列deque:是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque两端添加或删除元素的开销很小。它不需要重新分配空间,所以向末端增加元素比vector更有效。
实际上,deque是对vector和list优缺点的结合,它是处于两者之间的一种容器。 deque 的特点:
(1) 随机访问方便,即支持[ ]操作符和deque.at() ,但性能没有vector 好;
(2) 可以在内部进行插入和删除操作,但性能不及list;
(3) 可以在两端进行push、pop。
vector是一段连续的内存块,而deque 是多个连续的内存块,list是所有数据元素分开保存,可以是任何两个元素没有连续。vector的查询性能最好,并且在末端增加数据也很好,除非它重新申请内存段。适合高效地随机存储。
list是一个链表,任何一个元素都可以是不连续的,但它都有两个指向上一元素和下一
元素的指针。所以它对插入、删除元素性能是最好的,而查询性能非常差。适合大量地插入和删除操作而不关心随机存取的需求。
deque是介于两者之间,它兼顾了数组和链表的优点,它是分块的链表和多个数组的联合。所以它有list的查询性能,有vector的插入、删除性能。如果你需要随即存取又关心两端数据的插入和删除,那么deque 是最佳之选。
序列式容器的创建和元素的访问:
使用序列式容器,须包含相关的头文件,vector、list及deque分别对应:
#include
#include
#include
创建序列式容器的对象,大体有5种方式:
(1) 创建空的容器,此时容器中的元素个数为0。
vector
list
deque
(2) 产生特定大小的容器,此时容器中的元素被创建,编译器使用默认值为元素隐式初始化,像int、float和double等内建的数据类型会被初始化为0,对于类对象元素,将调用其无参构造函数(用户定义的或编译器缺省提供的)或每个参数都有默认值的构造函数。
vector
deque
(3) 在(2)的基础上更进一步,创建特定大小的容器,并且为其中的每个元素指定初始值,此时在元素多少的参数后增加一个参数。
vector
list
deque
(4) 根据已有同类型的容器创建新容器,并将其中的元素完全复制过来,设obV1、obL1和obD1都是现成的容器,里面存储的数据均为int型,则可用下述命令创建新容器。
vector
list
deque
(5) 通过一对迭代器(可暂时理解为指针),以使编译器决定元素的个数和初值,这对迭代器用以标识一组元素区间。
int sz[5]={11,2,3,4,45};
vector
list
deque
vector和deque类的容器创建后就可以通过容器名[下标]或容器名.at(序号)的形式对元素进行随机访问(这是因为这2种类模板对下标运算符[]进行了重载)。也支持迭代器访问。
但list类的容器不支持下标运算符[],无法使用[]对元素进行随机访问。但支持迭代器访问,如:
list
在上面的代码中,“obL.begin()”返回的是指向容器第一个元素的迭代器,这是所有容器(容器和容器适配器)都支持的特征之一。
所有容器都支持的特征见表7-1,其中ob、ob1和ob2是容器对象名。
序列式容器中元素的插入和删除:
在创建普通数组时,需要指定元素的个数,元素的插入和删除很繁琐。但在序列式容器中,只要调用操作函数,所有的事情都由STL类库自动完成,而且容器对象都能随着元素的插入和删除自动地增大或缩小。
下面介绍与容器类相关的5类函数:
(1)在容器尾部进行插入和删除(list、deque和vector都适用):
void push_back(t)和void pop_back(void),见例7.1
例7.1 在容器尾部插入和删除元素
//本章的所有代码测试请使用VC2008或以上版本进行,
//不要使用VC6.0,因为VC6.0对STL的支持不够。
#include
#include
#include
#include
using namespace std;
int main()
{
//0. 定义vector容器
vector
vector
//list
//deque
obV.push_back(2); //将int型数据安插在容器对象obV末尾
//2. 输出,看是否安插成功
it = obV.begin();
while (it != obV.end())
{
cout << (*it) << " "; //输出处理,看是否安插成功
it++;
}
cout << endl;
//3. 从尾部弹出元素
obV.pop_back(); //将最后一个元素弹出
//4. 输出,看是否弹出成功
it = obV.begin();
while (it != obV.end())
{
cout << (*it) << " "; //输出处理,看是否弹出成功
it++;
}
cout< //5. 将处定义的vector容器分别改成list和deque容器, 重新测试以上代码 //测试结果表明push_back()和pop_back()同时适用这种容器 return 0; } 程序运行结果如下: 1 1 1 2 1 1 1 Press any key to continue (2)在容器头部进行插入和删除(list和deque适用,vector不适用): void push_front(t)和void pop_front(void),见例7.2 例7.2 在容器头部插入和删除元素 #include #include #include #include using namespace std; int main() { //0. 定义list容器 list int sz[5] = {1,2,3,4,5}; list obL.push_front(9); //将int型数据安插在容器对象obL头部 //2. 输出处理,看是否安插成功 iter = obL.begin(); while (iter != obL.end()) { cout << (*iter) << " "; //输出处理,看是否安插成功 iter++;