第二章学习小结

第二章,我们学习了线性表。刚开始学习的时候,感觉挺难理解的,特别是链表,觉得还蛮抽象的。最开始做慕课上面的讨论也是错漏百出。

但是经过两次小组讨论学习以及完成PTA上的作业之后,对这些知识点还是熟练了很多。

在第二次小组合作中,我们没有通过的测试点是:删除,增加,再删除,原因是我们没有考虑到,当只增加一个元素的时候,删除掉这个元素还会把尾结点也删掉,所以这时候我们应该重置尾结点。

下面是我们修改过的第二次讨论中的删除函数:

 1 void delet(List &L)
 2 {
 3     if(L.head->next==NULL)
 4     {
 5         cout << "Empty list"<< endl;
 6         return;
 7     }
 8     int x;
 9     LNode *s;
10     s=L.head->next;
11     x=s->data;
12     if(s==L.tail)//重置尾结点
13         {
14             L.head->next=NULL;
15             L.tail=L.head; 
16         }
17     else L.head->next=s->next;
18     delete s;
19     cout << "Delete" << " "<< x<< " "<< "OK"<< endl;
20 }

感觉小组合作对学习还是挺有帮助的,有时候自己写的代码,找不出问题,但是组员一起讨论可以很快找到哪里出错。

接下来的学习目标:

更熟悉线性表,运用线性表写出的算法。

posted @ 2020-04-12 22:12  Jadfhjva  阅读(167)  评论(0)    收藏  举报