- 0
- 0
- 约3.88千字
- 约 17页
- 2021-10-13 发布于安徽
- 举报
4.2 单链表实现ADT List图1.4 线性表的单链表存储内存状态示意图 //链表结点类型struct Node { DataElem data; struct Node *next;};//线性表类型struct List { struct Node *pHead; struct Node *pTail;};typedef struct Node * Position; //线性表中位置类型 //1. 创建空线性表//空表管理的单链表只有一个头结点,失败时首尾指针为NULLstruct List Create (){ struct List list; //申请一个结点 list.pHead = list.pTail = (struct Node *)malloc (sizeof (struct Node)); if (list.pHead != NULL) list.pHead-next = NULL; //后续无结点 return list;}//2. 线性表清空//释放链表中除头结点外所有结点void Clear (struct List *pList){ struct Node *p = pList-pHead-next; //从头结点后结点开始删除 while (p != NULL) { //直到最后 struct Node *q = p;
原创力文档

文档评论(0)