Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158963
  • 博文数量: 66
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-23 15:21
文章分类

全部博文(66)

文章存档

2016年(66)

我的朋友

分类: LINUX

2016-05-27 09:41:38

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;  
}  
阅读(858) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~