1.建立单链表
(1)单链表建立过程分析
建立一个带头结点的单链表(以插入两个有效结点为例)的过程如下。<br /> A.建立空链表L<br /> 建立空链表示意图:<br /> <br /> 相应的操作语句:<br /> LinkList *L,Node *s;<br /> L = (LinkList *) malloc (sizeof(Node)); //为头结点分配存储空间<br /> r = L; <br /> <br /> B.生成并插入第一个结点<br /> 生成并插入第一个结点示意图:<br /> <br /> 相应的操作语句:<br /> s = (Node *) malloc (sizeof(Node)); //生成一个新结点 <br /> s -> data = a1 ; //将要插入数据元素的值赋给新结点的数据域<br /> s -> next = NULL; //链表末尾结点指针域为空<br /> r -> next = s; //将新结点插入到当前链表的表尾上<br /> r = s; //让指针r始终指向链表的当前表尾
C.生成并插入第二个结点<br /> <br /> s = (Node *) malloc (sizeof(Node)); //生成一个新结点 <br /> s -> data = a2 ; //将要插入数据元素的值赋给新结点的数据域<br /> s -> next = NULL; //链表末尾结点指针域为空<br /> r -> next = s; //将新结点插入到当前链表的表尾上<br /> r = s; //让指针r始终指向链表的当前表尾<br /> ** 课堂思考:**<br /> 要在链表的尾部继续依次插入a3、a4、......、an等结点,在程序设计上该如何实现?
(2)单链表建立算法
