一、这章学习了线性表,了解了对于顺序表和链式表的定义和基本操作,开始接触了这些以前较为陌生的结点,链表,然后在课堂上也巩固了下以前一直不太懂的形参回传问题,还学会了思考除了解决问题外还要考虑时间,考虑不同方法,感觉学到了很多。
二、在这里列出一些学数据结构线性表时的疑惑和解决方法
1、关于链表的指向问题:
有头结点时: L为头指针,P为头结点,则L->next是指头结点的指针域,而指针指向首元结点,所以这个是指首元结点的内容
和p->next一样,也是指首元结点的内容
2、求两个乱序集合的交集并要按顺序输出时,为了时间减少,需要先分别对两个集合排序再进行比较,而且排序时为了满足时间要求,要用sort()函数,而冒泡排序法和选择排序法都会超时,我去查了sort()函数,它的源码用的是类似快排的方式。
快排的基本思想:
1)先从数列中取出一个数作为基准数。 2)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3)再对左右区间重复第二步,直到各区间只有一个数。
3、提高代码可读性方面:
typedef 是给已有类型起名,这几次作业中我常用到:
#define EEROE 0
#define OK 0
#define OVERFLOW 0
typedef int status //为了方便看代码 ,后面就可以直接return OK 等
三、这些天学习来的小tips:
1、记得要函数声明
2、学者网上的高质量编程文件可多次学习规范个人编码习惯
四、目标:
1、希望自己下帐学习的编程中代码已经形成了规范的习惯
2、在下一章学习中尽量多拓展,多提出问题,希望能多去论坛和技术网站,博客等看别人代码,在课本的基础上更深入的学习