链表

一、学习完第二章的心得体会

       第二章学习的逻辑结构是线性表,存储结构是顺序表和链表。首先学习类型定义,其中顺序表有两种定义方式,一种是直接利用数组与数组长度打包为结构体类型,另一种是利用指针申请空间,后者使用与数据元素较多的情况,但我还是比较喜欢前者;而链式表在定义时是定义结点类型后进行逐次空间申请后,利用头插法和尾插法连接起来,在连接是也应该注意到题目是否需要运用尾指针。后面学习的是线性表的一系列操作,如插入、删除等。在实践中也应该根据操作来选择存储结构。

 

二、完成作业或实践的心得体会

1)、学习第二章时有了新的学习模式,即分组讨论,但由于小组成员之间不是特别熟悉,效果不是很好,希望在下次的讨论中能有进步;

2)、讨论中由于时间紧,没能很好的纠错,希望下次能够有充足的时间来给纠错,同时也给自己的纠错;

3)、上一章主要是学习一些基础的理论知识,这一章有了具体操作,做题的时候也有点懵,打代码经常要借助教材的算法,需要多花时间巩固一下。(捂脸.jpg)

4)、逐渐适应了线上教学的模式!

 

三、易错点小结

1)、利用头插法创建新链表时会输入顺序会与逻辑顺序相反!!!

2)、在插入操作中,p是一个指针,p=s只是改变了指针的指向,并没有把新结点与链表连接起来,应该为p->next=s;

3)、p->next=*p.next; 若p为null,则p->next错误;

4)、带有尾指针的链表定义:

#define ElemType int
typedef struct LNode
{//单链表结点类型的定义
ElemType data;
struct LNode *next;
}LNode;
typedef struct LNode
{//单链表的类型定义
LNode *head;
LNode *tail;
}LinkList;
5)、注意在写函数形参时考虑是否要加&
6)、修改了指针的直接空间是需要加&,即改变了指针的指向;而修改指针的间接空间不需要加&也可以回传,即修改了指针所指向的空间的值;
7)、打代码时先写主函数,理清每一步的思路后再写具体的操作函数;
 
四、接下来的目标
1)、改善小组讨论的方式以及互相配合的形式,具体给每个成员分配任务;
2)、巩固第二章的新知识,在打代码中找到自己的错误;
3)、希望自己能够继续努力,跟上教学进度!
 
 

 

posted @ 2020-04-04 16:00  陈雪佩  阅读(264)  评论(0编辑  收藏  举报