欢迎来到天天文库
浏览记录
ID:48464172
大小:979.76 KB
页数:88页
时间:2020-01-18
《第4章_结构化数据(全).pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《计算基础——C++语言实现》计算机的主要作用是对数据进行分析和处理。当数据中含有多条记录或多个属性时,如何将数据有效地存储在计算机中以方便后继的分析和处理,是利用计算机解决实际问题时要考虑的一个重要内容。本章重点介绍多记录数据和多属性数据的存储结构,以及如何使用C++实现这些数据的存储和处理。通过本章的学习,读者一方面能够根据自己的问题,判断出应该采用哪种数据结构;另一方面能够使用C++提供的相应语句,编写程序解决问题。本章还介绍枚举,并给出一个应用程序实例,该实例涉及基本的排序算法的思想,给读者以启发,激发读者利用计
2、算思维解决更多、更复杂的问题的兴趣。第4章结构化数据2在实际生活中,经常遇到对多条同一性质的记录进行处理和分析的情况,此时会涉及多记录数据的存储。例如,设甲班共有N名学生,要统计甲班某门课程考试中各个成绩范围的学生人数,其具体过程为:①提供原始数据,即N名学生的考试成绩。②设定初始状态,即在查看学生成绩前将各个成绩范围的学生人数置为0。③开始统计分析,即依次查看每名学生成绩并根据成绩更新相应成绩范围的学生人数。待处理的原始数据中包含了N名学生的成绩,此时就要首先解决这种多记录数据的存储问题。4.1多记录数据的存储3在有的
3、问题中,不仅待处理的是多记录数据,而且处理结果也是多记录数据。例如,设乙班共有M名学生、期末考试共考核C门课程,要分别统计乙班每名学生在C门课程上的总成绩,其具体过程为:①提供原始数据,即M名学生在C门课程上的考试成绩。②设定初始状态,即在查看学生成绩前分别将每名学生的总成绩置为0。③开始统计分析,即对每名学生依次将其在C门课程上的成绩加到其总成绩上。待处理的原始数据中包含了M名学生在C门课程上的考试成绩(即共M×C个成绩),处理结果中包含了M名学生的总成绩,原始数据和处理结果中都涉及多记录数据的存储问题。4.1多记录数
4、据的存储4根据数据自身的特性,可以将数据分为一维数据、二维数据、三维数据……本书重点介绍易于从直观上理解的一维数据和二维数据。4.1.1一维数据一维数据是指数据元素的值由一个因素唯一确定。例如,在前面给出的例子中,统计甲班某门课程考试中各个成绩范围的学生人数,需要提供各名学生的考试成绩。在该问题中考试课程已知,因此考试成绩由学生编号唯一确定,如图4-1所示,学生1的考试成绩为成绩1、学生2的考试成绩为成绩2、……、学生N的考试成绩为成绩N。4.1多记录数据的存储51.一维数据问题实例【例4-1】求N个整数中的最大值。问题
5、求解思路:N个整数中每个整数的值由该整数的序号唯一确定,如图4-2所示,整数1的值是值1、整数2的值是值2、……、整数N的值是值N。因此,待处理的原始数据是一维数据。解决该问题需要3步,其中第2步是第3章中所讲的迭代与选择的嵌套过程,m中始终保存着当前所看到的前i个整数中的最大整数的位置。解决该问题的算法如表4-1所示。4.1多记录数据的存储64.1多记录数据的存储7【例4-2】表4-2是各成绩级别所对应的成绩范围。设甲班共有N名学生,统计甲班某门课程考试中各成绩级别的学生人数。问题求解思路:N名学生中每名学生的考试成绩
6、由学生编号唯一确定,如图4-1所示。因此,待处理的原始数据是一维数据。解决该问题需要3步,其中第2步是第3章中所讲的迭代与选择的嵌套过程,根据学生成绩将相应成绩等级的学生人数增1。解决该问题的算法如表4-3所示。4.1多记录数据的存储84.1多记录数据的存储92.用C++提供的一维数组存储一维数据对于一维数据的存储问题,C++提供了相应的一维数组,用户可以使用该数据结构存储待处理数据或处理结果,编写程序完成问题的求解。(1)一维数组的定义数组本质上是一组变量,即数组的每一个元素都是一个变量。与前面学习过的简单变量一样,在
7、使用数组之前,必须先给出数组的定义。一维数组的定义形式为:<数据类型><数组名>[<常量表达式>];4.1多记录数据的存储10<数据类型>指定了数组中每一个元素的类型,既可以是前面学习的int、float等基本数据类型,也可以是后面将要学习的指针、结构体、类等数据类型;<数组名>的命名规则与简单变量的命名规则相同;方括号中的<常量表达式>用来指明该数组中元素的数量,即数组的长度,它必须是整型常量、整型符号常量或枚举常量(关于枚举常量可参考4.3节)。例如,如果要存储10名学生的成绩,就可以定义一个一维数组:intscor
8、e[10];或constsize=10;intscore[size];上面的语句定义了一个名为score的一维数组,该数组的长度为10,共包含10个int类型的元素,可以用来存储10名学生的成绩。4.1多记录数据的存储11(2)一维数组的初始化同简单变量一样,在定义数组的同时可以为数组中的各个元素赋初值。一维数组的初
此文档下载收益归作者所有