目录
1.单链表的存储结构与定义
存储结构
typedef说明:typedef int status。第一个是类型,第二个是赋予的对象。在下例中,赋予的是一个指针Linklist,之后可以直接用Linklist代表类似图中L,p的指向结点的指针。Linklist L = Lnode *L,更简单。
函数定义
链表一般用Linklist,定义指针用LNode。其实都对,但更习惯这样。
例:学生成绩表
为统一操作,一般将数据域单独定义。这样Lnode内只有数据域和指针域。
2. 功能函数定义
2.1 初始化函数
注意:Linklist本身就是指针,所以不需要加*。前面顺序存储时用的int*是int型指针。
2.2 判空函数
2.3 销毁函数
思路
用一个新指针指向头结点,然后使原指针指向下一个结点,删除新指针所指的区域,如此反复。
释放操作:
C++: new 搭配 delete p
C:malloc(sizeof()) 搭配 free(p)
代码(C++)
注意:定义新指针p时,写成了Linklist *p, 不够规范。结点指针定义应为Lnode *p
Status DestroyList_L(Linklist &L){
Lnode *p;
while(L){