第二章学习小结
第二章,我们学习了线性表。刚开始学习的时候,感觉挺难理解的,特别是链表,觉得还蛮抽象的。最开始做慕课上面的讨论也是错漏百出。
但是经过两次小组讨论学习以及完成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 }
感觉小组合作对学习还是挺有帮助的,有时候自己写的代码,找不出问题,但是组员一起讨论可以很快找到哪里出错。
接下来的学习目标:
更熟悉线性表,运用线性表写出的算法。

浙公网安备 33010602011771号