码迷,mamicode.com
首页 > 其他好文 > 详细

(二)单链接表的实现之从尾部插入节点

时间:2019-01-02 20:43:46      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:处理   100%   item   important   fun   overflow   ref   stdio.h   数据   

(二)单链接表的实现之从尾部插入节点

从尾部插入节点构建一个简单的列表什么是头节点

从尾部插入节点

技术分享图片从尾部插入节点
??如上图所示,只要将创建的节点的pNext指针指向下一节点地址即可:pHeader->pNext = New;
??从尾部插入节点分成两个步骤:

 

  • 找到链表的最后一个节点;
  • 将新的节点和原来的最后一个节点链接起来。
 1/*
2 *pH : 表示链表的头指针
3 *new: 新节点的首地址
4 */

5void insert_tail(struct node *pH,strtuct node *new)
6
{
7    struct node *p = pH;        //node定义 见上一章节
8    while(NULL != p -> pNext)
9    {
10        p = p -> pNext;
11    }
12    p -> pNext = new;
13}

构建一个简单的列表

 1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4struct node
5{

6    int data;
7    struct node *pNext;
8};
9struct node *create_node(int data);//实现见上一章
10void insert_tail(struct node *pH,strtuct node *new);
11int main()
12
{
13    struct node *pHeader = create_node(1);
14    insert_tail(pHeader ,create_node(2));
15    insert_tail(pHeader ,create_node(3));
16    printf("node1 data: %d.\n",pHeader->data);
17    printf("node2 data: %d.\n",pHeader->pNext->data);
18    printf("node2 data: %d.\n",pHeader->pNext->pNext->data);
19}

什么是头节点

??链表把头指针指向的第一个节点作为头节点使用。头节点有两个特点:它紧跟在头指针后面;头节点的数据部分是空的(或者存储链表节点数),指针部分指向第一个有效节点。
??头节点和其他节点不同,头节点在创建头指针时一并创建并和头指针关联起来。后面真正的节点用节点添加函数添加。
??链表的头节点不是必须的。有无头节点在一些算法处理上有些不同。比如插入节点、删除节点、遍历节点。

技术分享图片有无头节点

(二)单链接表的实现之从尾部插入节点

标签:处理   100%   item   important   fun   overflow   ref   stdio.h   数据   

原文地址:https://www.cnblogs.com/ywx123/p/10210885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!