表(ADT)
顺序表这种数据结构比较简单,这里不在详细讲解。
链表的类型声明:
第二行应该有:
#define _LIST_H
具有表头的链表模型
表头中的element一般用于存储表的大小(代码实现中如此)
表的操作
空表判断:如果表头的next指针->NULL;则表中没有数据。
末尾判断:如果所给节点位置的next指针为空,则为末尾;
表的插入:
三个参数:插入值,要插入的表的表头,以及插入位置(一般用头插和尾插);
插入过程分析:
注意顺序不可变;
T->next = p->next;
p->next = T;
表的数据查找:
参数:数据和表;
临时 p指向头节点的next,遍历一直找到x为止,未找到,则到了表的末尾,则返回NULL;
查找前一个结点:
原理相同,只不过要多查一个,这个函数用于删除节点。
不同点在于它查找p的下一个节点的数据;
表的数据删除:
过程分析:
令前节点指向要删除节点的下一个节点->删除要删除的节点,这里我们用TmpCell保存要删除的节点。
非尾节点