(二)单链接表的实现之从尾部插入节点
从尾部插入节点构建一个简单的列表什么是头节点
从尾部插入节点
从尾部插入节点
??如上图所示,只要将创建的节点的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}
什么是头节点
??链表把头指针指向的第一个节点作为头节点使用。头节点有两个特点:它紧跟在头指针后面;头节点的数据部分是空的(或者存储链表节点数),指针部分指向第一个有效节点。
??头节点和其他节点不同,头节点在创建头指针时一并创建并和头指针关联起来。后面真正的节点用节点添加函数添加。
??链表的头节点不是必须的。有无头节点在一些算法处理上有些不同。比如插入节点、删除节点、遍历节点。
有无头节点
原文地址:https://www.cnblogs.com/ywx123/p/10210885.html
时间: 2024-08-03 05:19:23