1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2 学习体会
从第一次接触这门《数据结构》课程,个人感觉上它理论性很强,或者是我太少去应用它吧。一个好的程序等于数据结构加算法,可见这门课程的重要性。第一章主要的是要掌握各个概念及掌握各个概念之间的关系,了解什么是抽象数据类型,并会运用它。数据结构有点抽象,学起来有点吃力,里边涉及到的c++知识运用的还不算很熟练。
2.大作业作业内容
2.1 设计日期的ADT类型
ADT Date{ 数据对象: D = {year,month,day | year,month,day属于int类型} 数据关系: R = {<year,month>,<month,day>} 数据操作: void CreateDate(int*&date,int year,int month,int day); //构造三元数组,构造日期的年月日 int Legal(int *date,ofstream &write); //判断日期是否合法,合法则写入文件中,不合法则给出提示 void Leapyear(int *date,ofstream &write); //判断是否为闰年 void Week(int *date,ofstream &write); //判断是星期几 void Month(int *date,ofstream &write) ; //写出对应月份的英文名称 void AddDay(int *date,ofstream &write); //增加天数,计算增加天数后的日期 void Compare(int *date,ofstream &write); //比较与其他日期的逻辑关系 }ADT Date
2.2.数据抽象:头文件
2.3数据封装说明
(1)构造三元组函数
做法:动态申请内存,分别把3个变量放入数组date中。
(2)判断日期是否合法
(3)判断是否为闰年
(4)星期函数
(5)月份的英文名称
(6)添加日期
(7)日期大小比较
(8)主函数
3.结果展示
4.调试碰到问题
- c++部分格式运用不熟练,总是输入错误,造成许多格式错误
- 判断日期大小时运用第一个判断是否合法的函数来做,发现传参存在许多问题,则改为用flag来进行判断
- 设计函数时参照翁凌涛同学的做法,设计的函数较简单