数据结构第二章学习小结

 

  1. 第二章里学习了线性表的两种存储结构,其中链式结构会比较难理解一点。但是经过了两次小组合作和PTA上的作业之后,已经对知识点的理解深刻了许多。所以学习新知识还是要多运用才能理解得更好。
  2. 完成作业或实践时,偶尔会遇到一两个测试点上总是过不去的困难,然后会和同学一起互相参考并讨论最终完成。有时候会p和p->next分不清,然后自己也没有注意到;或者格式问题;或者最后会忘记释放空间等等等等。总的来说就是自己往往不够细心。
  3. https://www.jianshu.com/p/2a0db725044c  是关于单链表的知识,感觉看完之后比较好理解,自己感觉挺有用的!

在第二次小组合作代码时,在删除函数中,没有考虑到会把尾指针也删掉,没有重置尾指针,以后可以参考一下;

 1 void D(LNode &L, List &a) //删除操作 
 2 {
 3     if (a.head->next==NULL) cout << "Empty list" << endl; //判断链表是否为空 
 4     else
 5     {
 6         LNode *q;       
 7         q = a.head->next; //指向头结点
 8         ElemType x;
 9         x = q->data;
10         if (q==a.tail) //重置尾结点 
11         {
12                a.head->next = NULL;
13             a.tail = a.head;
14         }
15         else  a.head->next = q->next;
16         delete q; //释放q空间 
17         cout << "Delete " << x << " OK" << endl; 
18     } 
19 }

 

         4.希望接下来在第三章的学习中,自己可以尽快掌握新知识,要多运用,而不是只照着书本上的代码打;希望自己可以熟练的打出线性表定义等等函数的代码,不用照着来打。

posted @ 2020-04-12 21:19  冯颖欣  阅读(240)  评论(0编辑  收藏  举报