第六次作业

1.学习笔记

 

 

 

 

2.代码列表

 

 

 

3.存在的问题及解决

(1)用链表代替数组进行数据的存储和操作的优点?

一是不需要事先定义存储空间大小,可以实时动态分配,内存使用效率高。

二是可以很方便的插入新元素(结点),使学生信息库保持排序状态,操作效率高。

(2)tail->next=p;

         tail=p;

该程序段的意思?

把原来链表的尾结点的next域指向该新增的结点,把新增的节点加入到链表中。

 

4.pta中存在的问题及解决

2-2

设有如下定义的链表,则值为7的表达式是( )。 (1分)

struct st{
     int n;
     struct st *next;} a[3] = {5, &a[1], 7, &a[2], 9, NULL}, *p = &a;

&a代表整个数组的地址,a代表数组的首地址,区别是对于&a,大小是st*3,对于a大小是st,但二者都是a的首地址为值的。这也造成了C是不对的,因为&a+1实际指向了下个数组的首地址,超出了数组的范围。正确答案是D。

posted @ 2020-04-26 18:22  熊义晨  阅读(119)  评论(0编辑  收藏  举报