单链表

1. 学习内容

《程序设计基础》:

  • 7.3.1 建立链表的过程
  • 7.3.2 链表节点的插入与删除

视频《计算概论与程序设计基础》

2. 代码示例

3. 作业

1、

【NOIP 2017 普及组初赛 q13】向一个栈顶指针为 hs 的链式栈中插入一个指针 s 指向的结点时,应执行( )。
A. hs->next = s;  
B. s->next = hs; hs = s;  
C. s->next = hs->next; hs->next = s;  
D. s->next = hs; hs = hs->next;  

2、

【CSP 2020 入门组第一轮 q07】链表不具有的特点是()。
A. 可随机访问任一元素   B. 不必事先估计存储空间  
C. 插入删除不需要移动元素   D. 所需空间与线性表长度成正比  

3、

【CSP 2019 入门组第一轮 q06】链表不具有的特点是()
A. 插入删除不需要移动元素   B. 不必事先估计存储空间  
C. 所需空间与线性表长度成正比   D. 可随机访问任一元素  

4、

【NOIP 2015 普及组初赛 q14】线性表若采用链表存储结构,要求内存中可用存储单元地址( )。
A. 必须连续   B. 部分地址必须连续  
C. 一定不连续   D. 连续不连续均可  

5、 对线性表进行二分法查找,其前提条件是(   )。
A)线性表以链接方式存储,并且按关键字值排好序 
B)线性表以顺序方式存储,并且按关键字值的检索频率排好序
C)线性表以顺序方式存储,并且按关键字值排好序
D)线性表以链接方式存储,并且按关键字值的检索频率排好序

双链表

循环链表

教程《程序设计基础》:

  • 7.3.3 循环链表