1:算法思路
从一个空表开始,重复读入数据,生成新结点,将读入数据存放在新结点的数据域中,然后将新结点插入到当前链表的表尾上,直到读入结束标志为止。
2:图解
3:代码
//尾插法建立链表
int insert_form_tail(struct Node * head, int num)
{
struct Node * temp = head;
struct Node * new_node = NULL;
new_node = (struct Node *)malloc(sizeof(struct Node));
//创建新的节点
if (NULL == new_node)
{
printf("memory out of use/n");
return -1;
}
//寻找尾结点
while (temp->next != NULL)
//当temp->next = NULL 的时候, temp就是最后一个节点了
{
temp = temp->next;
}
//将新结点插入到链表的最后
new_node->data = num;
//为新节点赋值
new_node->next = NULL;
//将新节点指向NULL
temp->next = new_node;
//将尾节点指向新节点
return 0;
}
阅读(890) | 评论(0) | 转发(0) |