链表

一、视频学习

1.观看视频:4.2.2链表、4.2.3链表的函数、4.2.4链表的搜索、4.2.5链表的删除,4.2.6链表的清空

2.C语言代码

 

  3.手写笔记

 

 

 

 

 

 

 

  4.遇到的问题

①在链表的建立时if(head=NULL)head=p;else tail->next=p; tail=p;   两个tail的意思是什么?

结果:tail->next=p表示在表头不为空时,新建结点前一个结点的next指向新结点;而 tail=p是将表尾指向新结点。

②表头的实现方式

结果(目前知道的):1、将head设为全局变量;2、将&head传入链表函数,既在链表函数中运用二级指针指向head;3、定义结构list(用于存放head)

二、PTA中遇到的问题

1、2-2设有如下定义的链表,则值为7的表达式是( )。 struct st{int n;struct st *next;} a[3] = {5, &a[1], 7, &a[2], 9, NULL}, *p = &a;}

A.p->n   B.(p->n)++   C.++p->n    D.p->next->n

结果:A指向a[0]的成员n既为5;B指向a[0]的成员n既为5再进行++操作为6;C指向a[0]的成员n既为5再进行++操作为6;D指向a[1]的成员n既为7

posted @ 2020-04-25 20:08  板蓝根拌饭  阅读(237)  评论(0编辑  收藏  举报