C++大学教程-数组与C++标准库类模板.ppt

上传人:wuy****n92 文档编号:66796829 上传时间:2022-12-21 格式:PPT 页数:81 大小:262KB
返回 下载 相关 举报
C++大学教程-数组与C++标准库类模板.ppt_第1页
第1页 / 共81页
C++大学教程-数组与C++标准库类模板.ppt_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《C++大学教程-数组与C++标准库类模板.ppt》由会员分享,可在线阅读,更多相关《C++大学教程-数组与C++标准库类模板.ppt(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+大学教程 2007.9第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用字符数组字符数组数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结1C+大学教程 2007.9数组的用途数组的用途v程序设计要处理的数据往往是许多数据而非简单的程序设计要处理的数据往往是许多数据而非简单的几个数据几个数据,对单个数据分别声明变量显露其局限性对单个数据分别声明变量显露其局限性 例如,如果要处理例如,如果要处理3个学生考试成绩,我们可以声个学生考试成绩,我们可以声明明:int

2、grade0,grade 1,grade2;但如果有很多成绩但如果有很多成绩(例例100个个),该怎么办?,该怎么办?v对一组由相同类型数据组成的数据集合使用对一组由相同类型数据组成的数据集合使用数组数组2C+大学教程 2007.9数组的特征数组的特征v有序性:数组中的所有元素都有自身的有序性:数组中的所有元素都有自身的序号序号0,1,2v相同类型:全部是整数、浮点数、字符相同类型:全部是整数、浮点数、字符型,也可以数组的数组(一维数组、二型,也可以数组的数组(一维数组、二维数组、多维数组)维数组、多维数组),后面所说数组是后面所说数组是特指一维数组。特指一维数组。3C+大学教程 2007.9

3、第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用字符数组字符数组数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结4C+大学教程 2007.9一维数组的声明一维数组的声明 int a 5 ;数据类型数据类型数组名数组名数组元素的个数数组元素的个数:必须是正值常量表达式,编译时就知值见到数组声明后,编译器保留恰当容量内存,可以存储5个整型变量,每个变量有自己的表示方式:a0,a1,a2,a3,a45C+大学教程 2007.9内存空间占用情况内存空间占用情况 int

4、 a5;1、设一个、设一个int需要占用需要占用4个字节的空间个字节的空间 2、存放、存放a0的地址为的地址为1000,此时,此时1000被成为数组被成为数组a的的基地址基地址a0a1a2a3a4值值78111623地址地址100010041008101210166C+大学教程 2007.9初始化初始化v声明数组时可以对数组初始化声明数组时可以对数组初始化 float x5=-1.1,0.2,33.0,4.4,5.05;v初始化表的长度短于要被初始化的数组元素数目,那初始化表的长度短于要被初始化的数组元素数目,那么么剩余剩余元素被初始化为元素被初始化为0。取巧。取巧 int a10=0.v外部

5、或静态数组没有被初始化,系统自动把所有元素外部或静态数组没有被初始化,系统自动把所有元素初始化为初始化为0。v没有被初始化的没有被初始化的自动自动或或常量常量数组含有的值是数组含有的值是无用无用的。的。v数组的存储类型数组的存储类型不不能是能是寄存器寄存器类型。类型。初始化表初始化表7C+大学教程 2007.9初始化初始化vint a =2,3,4,5vint a4=2,3,4,5当数组大小被省略当数组大小被省略,编译器计算初始化表中编译器计算初始化表中元素个数来确定数组元素的个数元素个数来确定数组元素的个数8C+大学教程 2007.9使用一维数组使用一维数组例:对数组赋值例:对数组赋值(也达

6、到初始化目的也达到初始化目的)#include const int N=5int main(void)int aN;int i,sum=0;for(i=0;i N;+i)ai=7+i*i;return 0;数组有效的下标为:0,1,2,3,40,1,(N-1)常量声明数组大小常量声明数组大小9C+大学教程 2007.9/Fig.7.3:fig07_03.cpp/Initializing an array.#include using std:cout;using std:endl;#include using std:setw;int main()int n 10;/n is an array

7、 of 10 integers /initialize elements of array n to 0 for(int i=0;i 10;i+)n i =0;/set element at location i to 010C+大学教程 2007.9cout Element setw(13)Value endl;/output each array elements value for(int j=0;j 10;j+)cout setw(7)j setw(13)n j endl;return 0;11C+大学教程 2007.9下标下标vint asize,下标表示该元素距数组起始地址的下标表

8、示该元素距数组起始地址的位移是多少位移是多少.故第一个元素的下标为故第一个元素的下标为0.v数组下标范围数组下标范围 0,size-1v下标越界下标越界 a-1,asizev 注意:编译器并不检查在给定的数组中下标注意:编译器并不检查在给定的数组中下标是否有效,越界问题必须由编程人员自己解决。是否有效,越界问题必须由编程人员自己解决。下标或索引12C+大学教程 2007.9应用范例片段应用范例片段v声明一个数组声明一个数组,用一个循环初始化数组用一个循环初始化数组 int n10;for(int i=0;i10;i+)ni=0;13C+大学教程 2007.9应用范例片段应用范例片段v求数组元素

9、之和求数组元素之和 int n10=32,27,64,18,95,14,90,70,60,37;total=0;for (int i=0;i10;i+)total+=ni;14C+大学教程 2007.9应用范例应用范例v使用不同计数器跟踪一个筛子各个面出使用不同计数器跟踪一个筛子各个面出现的次数现的次数 分析分析:筛子有筛子有6个面个面,需要需要6个计数器个计数器,这里这里可以用一个含有可以用一个含有6个分量的数组个分量的数组,为了和为了和筛子上的数字对应筛子上的数字对应,浪费一个分量浪费一个分量:0下下标分量标分量,声明数组含声明数组含7个分量个分量.int frequency7 如当前掷出

10、如当前掷出5,则则frequency5+;15C+大学教程 2007.9/Fig.7.10:fig07_10.cpp/Roll a six-sided die 6,000,000 times.#include using std:cout;using std:endl;#include using std:setw;#include using std:rand;using std:srand;#include using std:time;16C+大学教程 2007.9int main()const int arraySize=7;/ignore element zero int frequ

11、ency arraySize =0;srand(time(0);/seed random number generator /roll die 6,000,000 times;use die value as frequency index for(int roll=1;roll=6000000;roll+)frequency 1+rand()%6+;cout Face setw(13)Frequency endl;/output each array elements value for(int face=1;face arraySize;face+)cout setw(4)face set

12、w(13)frequency face string2;输入时以空格为终止输入时以空格为终止,并在数组后自动加空字并在数组后自动加空字符符0;注意输入时长度不要超过数组声明注意输入时长度不要超过数组声明时的大小时的大小,这里为这里为19.否则系统并不会检查否则系统并不会检查.输出输出:cout string2;25C+大学教程 2007.9例子例子:用字符串文字初始化一个字符数组用字符串文字初始化一个字符数组,读入一个读入一个字符串到一个字符数组字符串到一个字符数组,将字符数组作为一个将字符数组作为一个字符串打印字符串打印/Treating character arrays as string

13、s.#include using std:cout;using std:cin;using std:endl;26C+大学教程 2007.9例子例子:int main()char string1 20;/reserves 20 characters char string2=string literal;/reserves 15 characters /read string from user into array string1 cout string1;/reads hello space terminates input /output strings cout string1 is:

14、string1 nstring2 is:string2;cout nstring1 with spaces between characters is:n;27C+大学教程 2007.9例子例子:/output characters until null character is reached for(int i=0;string1 i !=0;i+)cout string1 i string1;/reads there cout nstring1 is:string1 endl;return 0;28C+大学教程 2007.9Static 局部数组局部数组 v 像其他局部变量一样像其他局部

15、变量一样,数组也可以声称为数组也可以声称为static,函数中定义的函数中定义的static 数组在程序运数组在程序运行其间一直存在行其间一直存在,但只在该函数体内可见但只在该函数体内可见.v当第一次遇见当第一次遇见static数组的声明时数组的声明时,程序就程序就初始化它们初始化它们,非第一次则不再执行初始化非第一次则不再执行初始化.v当第一次遇见当第一次遇见static数组的声明时数组的声明时,程序如程序如果没有显式地初始化果没有显式地初始化,编译器自动将其初编译器自动将其初始化为始化为0.29C+大学教程 2007.9第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明

16、数组声明,初始化初始化,引用引用字符数组字符数组数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结30C+大学教程 2007.9数组传递给函数数组传递给函数v要给一个函数传递一个数组实参要给一个函数传递一个数组实参,需指定数组需指定数组名名,且不带方括号且不带方括号,并将数组的大小也传递给并将数组的大小也传递给函数函数.如如 int data24 sum(data,24)v数组名实际上是数组在内存中的起始地址数组名实际上是数组在内存中的起始地址,函函数由第一个参数获得了数组在内存中的地址数由第一个参数获得了数组在内

17、存中的地址.函数的第一个参数传递是函数的第一个参数传递是按引用传递按引用传递v函数在函数体中修改数组元素时函数在函数体中修改数组元素时,实际是在数实际是在数组的原始内存位置上修改其值组的原始内存位置上修改其值31C+大学教程 2007.9数组作为函数参数数组作为函数参数vint sum(int a,int n)int i,s=0;for(i=0;in;+i)s+=ai;return s;数组数组a作为参数作为参数 标示数组的大小标示数组的大小 32C+大学教程 2007.9数组作为函数参数数组作为函数参数conct int N=5;int main(void)int i,total;int v

18、aluesN;for(i=0;iN;+i)valuesi=i;total=sum(values,N);return 0;数组数组values传递给函数传递给函数 01234ivaluesmaintotal33C+大学教程 2007.9数组传递的是地址数组传递的是地址conct int N=5;int main(void)int i,total;int valuesN;for(i=0;iN;+i)valuesi=i;total=sum(values,N);return 0;01234ivaluesint sum(int a,int n)int i,s=0;for(i=0;in;+i)s+=ai;

19、return s;nsa5itotaltotal=?1034C+大学教程 2007.9数组传递的是地址数组传递的是地址conct int N=5;int main(void)int i,total;int valuesN;for(i=0;iN;+i)valuesi=i;total=sum(&values1,N-2);return 0;01234ivaluesint sum(int a,int n)int i,s=0;for(i=0;in;+i)s+=ai;return s;nsa3itotaltotal=?635C+大学教程 2007.9数组元素传递的是值数组元素传递的是值conct int

20、N=5;int main(void)int i,total;int valuesN;for(i=0;iN;+i)valuesi=i;total=sum(values2,N-2);return 0;01234ivaluesint sum(int a,int n)int i,s=1;for(i=0;in;+i)s*=a;return s;nsa3itotaltotal=?8236C+大学教程 2007.9在函数中修改数组原有的值在函数中修改数组原有的值conct int N=5;int main(void)int i;int valuesN;for(i=0;iN;+i)valuesi=i;setA

21、rray(values,N);return 0;99999ivaluesvoid setArray(int a,int n)int i;for(i=0;in;+i)ai=9;na5itotal37C+大学教程 2007.9如何在函数中保护数组原有的值如何在函数中保护数组原有的值?conct int N=5;int main(void)int i,total;int valuesN;for(i=0;iN;+i)valuesi=i;total=sum(values,N);return 0;01234ivaluesint sum(const int a,int n)int i,s=0;for(i=0

22、;in;+i)s*=a;a0=9;X return s;nsa5itotaltotal=?1038C+大学教程 2007.9实例实例:用数组改造后的用数组改造后的GradeBook类类vGradeBook类表示一个教授使用的成绩类表示一个教授使用的成绩薄薄,用来存储和分析学生的成绩用来存储和分析学生的成绩v现在改造原有的现在改造原有的GradeBook类类,改变方改变方法为法为:在类的数据成员中使用一个数组在类的数据成员中使用一个数组存储所有学生的成绩存储所有学生的成绩vGradeBook类声明如下类声明如下:39C+大学教程 2007.9#include /program uses C+St

23、andard Library string classusing std:string;/GradeBook class definitionclass GradeBookpublic:/constant-number of students who took the test const static int students=10;/note public data 40C+大学教程 2007.9 /constructor initializes course name and array of grades GradeBook(string,const int );/function t

24、o set the course name void setCourseName(string);/function to retrieve the course name string getCourseName();/display a welcome message void displayMessage();/perform various operations on the grade data void processGrades();41C+大学教程 2007.9 int getMinimum();/find the minimum grade for the test int

25、getMaximum();/find the maximum grade for the test double getAverage();/determine the average grade for the test void outputBarChart();/output bar chart of grade distribution void outputGrades();/output the contents of the grades arrayprivate:string courseName;/course name for this grade book int gra

26、des students;/array of student grades;/end class GradeBook 参见参见 Fig.7.16-18,要求学生课后运行并分析该程序中数组用法要求学生课后运行并分析该程序中数组用法42C+大学教程 2007.9注释注释:vstatic 成员表示是一个类变量成员表示是一个类变量,即只有在即只有在类这一级上有空间分配类这一级上有空间分配,该类的每个对该类的每个对象并没有该成员副本象并没有该成员副本.v static const成员表示是一个类常量成员表示是一个类常量,在在整个类包括各个对象都不能修改其值整个类包括各个对象都不能修改其值有关有关stat

27、ic 数据成员详细介绍见第十章数据成员详细介绍见第十章43C+大学教程 2007.9第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结44C+大学教程 2007.9查找查找v在数组存放的大量数据中在数组存放的大量数据中,常遇到需要常遇到需要判断这组数据中是否与某个关键字相匹判断这组数据中是否与某个关键字相匹配配,即试图在数组中发现一个特定的元即试图在数组中发现一个特定的元素素.此过程称为此过程称为查找查找v查找的方

28、法有很多查找的方法有很多,这里基于数组是否这里基于数组是否有序介绍两种查找方法有序介绍两种查找方法:无序时采用线性查找法无序时采用线性查找法 有序时采用二分法查找有序时采用二分法查找45C+大学教程 2007.9查找查找v线性查找法线性查找法 将待查找的关键字和数组中的每个元素进行比将待查找的关键字和数组中的每个元素进行比较较,找到时返回其下标找到时返回其下标,否则宣布未找到否则宣布未找到查找次数查找次数:平均必须比较一半元素平均必须比较一半元素.时间复杂程度时间复杂程度O(n)v线性查找法适用于小型数组或未排序数组线性查找法适用于小型数组或未排序数组46C+大学教程 2007.9查找查找线性

29、查找法线性查找法:int linearSearch(const int array,int key,int sizeOfArray)for(int j=0;j sizeOfArray;j+)if(array j =key)/if found,return j;/return location of key return-1;/key not found 47C+大学教程 2007.9查找查找v二分法查找二分法查找:对一个有序数组首先匹配中间位置的元对一个有序数组首先匹配中间位置的元素素,如匹配成功终止如匹配成功终止,否则如待查关键字否则如待查关键字大于中间元素大于中间元素,抛开前面的元素抛开前

30、面的元素,从中间从中间元素的下一元素到数组尾部范围重复以元素的下一元素到数组尾部范围重复以上匹配上匹配.v二查找法最坏比较次数二查找法最坏比较次数log2n,远远小于远远小于n48C+大学教程 2007.9排序排序v比较线性查找法和二分法查找发现比较线性查找法和二分法查找发现:对一组有序的数据对一组有序的数据,查找要快的多查找要快的多.因此因此应用中常常先进行排序应用中常常先进行排序.v排序排序:按照某种特定的次序按照某种特定的次序(升序或降序升序或降序)排列数据排列数据v插入排序是众多排序算法中的一种插入排序是众多排序算法中的一种,其简其简单但相对效率较低单但相对效率较低49C+大学教程 2

31、007.9排序排序v插入排序思想插入排序思想:算法核心思想算法核心思想是将一个元素插入到一个有序的是将一个元素插入到一个有序的数据序列中数据序列中 具体做法具体做法:首先将数组中的首先将数组中的0下标元素看作只下标元素看作只有一个元素组成的有序序列有一个元素组成的有序序列,将将1下标元素插下标元素插入到该序列中入到该序列中,形成含有二个元素的有序序列形成含有二个元素的有序序列.如此方法处理下标为如此方法处理下标为3,4,n个元素个元素,至此全部至此全部有序有序50C+大学教程 2007.9排序排序v例如例如:有一组含有有一组含有5个元素的数据待排序个元素的数据待排序3,2,5,1,4 3,2,

32、5,1,4 2,3,5,1,4 2,3,5,1,4 1,2,3,5,4 1,2,3,4,5 1和前面的有序序列从后到前逐个比较直到前者比其小或到达序列前端,将1放入此位置分析:下标为i的元素前有i个元素,平均比较i/2次.所有元素排好序平均比较n(n-1)/4次51C+大学教程 2007.9插入排序算法插入排序算法for(int next=1;next 0)&(data moveItem-1 insert)data moveItem =data moveItem-1;moveItem-;data moveItem =insert;比比较较移动移动52C+大学教程 2007.9第七章第七章 数组

33、与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结53C+大学教程 2007.9二维数组二维数组声声明明:数数据据类类型型 数数组组名名MN;M,N为为常常量表达式量表达式int a34;编译器分配编译器分配3*4*2个个int型的连续存储空间型的连续存储空间第第0列列第第1列列第第2列列第第3列列第第0行行a00a01a02a03第第1行行a10a11a12a13第第2行行a20a21a22a2354C+大学教程 2007.9二维

34、数组使用方法二维数组使用方法const int M=3;const int N=4int main()int aMN,i,j,sum=0;for(i=0;iM;+i)for(j=0;iN;+j)aij=i+j;第第0列列第第1列列第第2列列第第3列列第第0行行0123第第1行行1234第第2行行2345注意:ai,j是错误的写法55C+大学教程 2007.9二维数组作为函数参数二维数组作为函数参数vint sum(int a 5,int n)int i,j,s=0;for(i=0;in;+i)for(j=0;j5;+j)s+=aij;return s;第一个尺寸不需要第一个尺寸不需要 给出给出

35、其他的尺寸必须给出其他的尺寸必须给出 56C+大学教程 2007.9二维数组初始化二维数组初始化v以下三个初始化是等价的:以下三个初始化是等价的:vint a23=1,2,3,4,5,6;vint a23=1,2,3,4,5,6;vint a 3=1,2,3,4,5,6;57C+大学教程 2007.9多维数组多维数组声明:数据类型声明:数据类型 数组名数组名MN ;M,N,为常量表达式,为常量表达式三维数组三维数组 int a342;编译器分配编译器分配3*4*2个个int型的连续存储空间型的连续存储空间58C+大学教程 2007.9实例实例:用二维数组改造后的用二维数组改造后的GradeBo

36、ok类类vGradeBook类表示一个教授使用的成绩类表示一个教授使用的成绩薄薄,用来存储和分析学生的用来存储和分析学生的多次多次成绩成绩v现在改造原有的现在改造原有的GradeBook类类,改变方改变方法为法为:在类的数据成员中使用一个数组在类的数据成员中使用一个数组存储所有学生的成绩存储所有学生的成绩vGradeBook类声明如下类声明如下:59C+大学教程 2007.9#include /program uses C+Standard Library string classusing std:string;/GradeBook class definitionclass GradeBo

37、okpublic:/constant-number of students who took the test const static int students=10;/note public data const static int tests=3;60C+大学教程 2007.9 /constructor initializes course name and array of grades GradeBook(string,const int tests);/function to set the course name void setCourseName(string);/func

38、tion to retrieve the course name string getCourseName();/display a welcome message void displayMessage();/perform various operations on the grade data void processGrades();61C+大学教程 2007.9 int getMinimum();/find the minimum grade for the test int getMaximum();/find the maximum grade for the test doub

39、le getAverage(const int,const int);/determine the average grade for the test void outputBarChart();/output bar chart of grade distribution void outputGrades();/output the contents of the grades arrayprivate:string courseName;/course name for this grade book int grades students tests;/two-dimensional

40、 array;/end class GradeBook 参见参见 Fig.7.22,要求学生课后运行并分析该程序中数组用法要求学生课后运行并分析该程序中数组用法62C+大学教程 2007.9第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结63C+大学教程 2007.9C+标准库标准库-vector类模板类模板vvector类模板是一种更加健壮类模板是一种更加健壮,且有许多附加且有许多附加功能的数组功能的数组v附加

41、功能例如附加功能例如:提供下标越界检查提供下标越界检查;提供数组用相等运算和大小比较提供数组用相等运算和大小比较 提供数组间赋值等运算提供数组间赋值等运算下面例子给出下面例子给出vector类模板用法一瞥类模板用法一瞥,其全部功其全部功在第在第23章介绍章介绍64C+大学教程 2007.9Fig.7.26/Fig.7.26:fig07_26.cpp/Demonstrating C+Standard Library class template vector.#include using std:cout;using std:cin;using std:endl;#include using s

42、td:setw;#include using std:vector;vector使用前需使用前需要的预处理语句要的预处理语句65C+大学教程 2007.9Fig.7.26void outputVector(const vector&);/display the vectorvoid inputVector(vector&);/input values into the vectorint main()vector integers1(7);/7-element vector vector integers2(10);/10-element vector 对象声明Vector类参数说明66C+大

43、学教程 2007.9Fig.7.26/print integers1 size and contents cout Size of vector integers1 is integers1.size()nvector after initialization:endl;outputVector(integers1);/print integers2 size and contents cout nSize of vector integers2 is integers2.size()nvector after initialization:endl;outputVector(integers

44、2);调用其成员函数67C+大学教程 2007.9Fig.7.26 /input and print integers1 and integers2 cout nEnter 17 integers:endl;inputVector(integers1);inputVector(integers2);cout nAfter input,the vectors contain:n integers1:endl;outputVector(integers1);cout integers2:endl;outputVector(integers2);调用函数68C+大学教程 2007.9Fig.7.26

45、/use inequality(!=)operator with vector objects cout nEvaluating:integers1!=integers2 endl;if(integers1!=integers2)cout integers1 and integers2 are not equal endl;/create vector integers3 using integers1 as an /initializer;print size and contents vector integers3(integers1);/copy constructor cout nS

46、ize of vector integers3 is integers3.size()nvector after initialization:endl;outputVector(integers3);69C+大学教程 2007.9Fig.7.26 /use assignment(=)operator with vector objects cout nAssigning integers2 to integers1:endl;/integers1 is larger than integers2 integers1=integers2;cout integers1:endl;outputVe

47、ctor(integers1);cout integers2:endl;outputVector(integers2);70C+大学教程 2007.9Fig.7.26/use equality(=)operator with vector objects cout nEvaluating:integers1=integers2“endl;if(integers1=integers2)cout integers1 and integers2 are equal“endl;/use square brackets to create rvalue cout nintegers15 is integ

48、ers1 5;调用=运算调用 运算71C+大学教程 2007.9Fig.7.26 /use square brackets to create lvalue cout nnAssigning 1000 to integers15 endl;integers1 5 =1000;cout integers1:endl;outputVector(integers1);/attempt to use out-of-range subscript cout nAttempt to assign 1000 to integers1.at(15)endl;integers1.at(15)=1000;/ERR

49、OR:out of range return 0;/end main 和赋值运算,不进行越界检查at函数和赋值运算,此at函数进行越界检查72C+大学教程 2007.9Fig.7.26/output vector contentsvoid outputVector(const vector&array)size_t i;/declare control variable for(i=0;i array.size();i+)cout setw(12)array i;if(i+1)%4=0)/4 numbers per row of output cout endl;if(i%4!=0)cout

50、endl;73C+大学教程 2007.9Fig.7.26/input vector contentsvoid inputVector(vector&array)for(size_t i=0;i array i;74C+大学教程 2007.9第七章第七章 数组与数组与C+标准库类模板标准库类模板数组数组数组声明数组声明,初始化初始化,引用引用数组传递给函数数组传递给函数数组存储数组存储,排序排序,查找查找多维数组多维数组C+标准库标准库-vector类模板类模板总结总结75C+大学教程 2007.9总结总结v数组的概念:数组的概念:一组具有相同类型的相关数据组成的集合;可以被一组具有相同类型的相

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁