1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2 学习体会
- 1. 这两周可能是刚刚开学吧,还未完全适应,老师上课节奏有点快,上课的内容需要课后再温习,特别是时间复杂度与空间复杂度,是块难啃的硬骨头,需要投入时间与精力与理解。自我感觉上一学期学习的c语言与这一学期学的数据结构相比简直是小巫见大巫,难度有所提高,需要更加去努力学习。
- 2. 这次大作业中,老师要求我们使用c++语法来写,这样既让我们对c++的一些语法有了了解,又考验了我们c语言的基础是否扎实,C++是C语言的继承,使用c++的过程可以看到c语言的影子,但两者还是有着不同之处,c语言中的printf与scanf在c++中变为cout与cin,这然使代码看起来更加的简洁,也增加了代码的可读性,还提高了计算机运行的效率。
2.大作业作业内容
2.1 设计日期的ADT类型
ADT Date{
数据对象:
D = {year,month,day | year,month,day属于int类型}
数据关系:
R = {<year,month>,<month,day>}
数据操作:
int InitDate(Date &date,int year,int month,int day);
//操作结构:构造三元组并判断日期是否合法
int leapYear(Date &date);
//操作结果:判断是否为闰年
void weeks(Date &date,ofstream &outFile);
//操作结果:输出该日期所对应的星期
void monthday(Date &date,ofstream &outFile);
//操作结果:输出该日期的月份的英文名
void dayAdd(Date &date,int num,ofstream &outFile);
//操作结果:输入一个数,得到该日期加上这个数的日期
void dayCompare(Date &date,int yourYear,int yourMonth,int yourDay,ofstream &outFile);
//操作结果:输入另外一个日期,与该日期进行比较
}ADT Date
2.2.数据抽象:
2.3数据封装说明
(1)构造日期数据结构并判断是否合法
(2)判断是否为闰年
(4)返回日期所对应的星期
(5)返回月份英文名
(6)增加日期天数
(7)主函数
3.结果展示
4.调试碰到问题
1.可能是一个多月没敲代码了吧,对c语言有些生疏了,会发生一些很低级的错误。
2.在敲的时候对c++语法不熟悉,需要先对c++的一些语法进行学习。特别是c语言不同于c的一些特定形式,比如&的运用,写大作业的时候差了一个&调试了一个晚上。