尾插法建立链表详解
创作时间:
作者:
@小白创作中心
尾插法建立链表详解
引用
CSDN
1.
https://blog.csdn.net/qq_40741513/article/details/107243817
尾插法,顾名思义,就是把新加入的节点插入到上一个节点的尾部(头插法是把新加入的节点插入到上一个节点的头部),next存储下一个节点位置的地址,开始时,初始化定义头节点
head -> next = NULL;
表示头节点的下一个节点为空,就是该链表只有一个头节点,图形化表示为
由于头插法要把每一个新加入的节点插入到上一个节点的尾部,所以需要定义一个指针,记录每次插入变换后的最后一个节点的指针域信息
r = head;
将头节点赋值给r,r记录每次插入变换后尾部的信息
申请一个节点A1,将A1按照尾插法插入到链表当中,实现代码为
r -> next = p;
r = p;
第一句代码 r -> next = p的意思是将 r (当前还是代表头节点的地址)的下一个节点指向p,图像表示形式为
第二句代码 r = p的意思是将原本表示头部节点地址的指针赋值为新插入的A1,也就是说 r 当前表示为节点A1
当插入节点A2时,依然执行这两行代码,由于r是上一个新插入的节点,所以A2插入到了A1的尾部
插入后同样将r赋值给当前插入节点的地址
不断地执行上述过程,把新来的节点插入到上一个尾部,把最后一个节点的next值赋为空,实现尾插法代码的实现
完整代码如下
#include <stdio.h>
#include <stdlib.h>
typedef int Elemtype;
//结构体的定义
struct LNode{
Elemtype data;//数据域,存储数据
struct LNode *next;//指针域,存储指针,存放后继节点信息
};
typedef struct LNode* LNodePtr;//定义结构体指针型变量,将结构体指针等价于Linklist
typedef struct LNode LNode1;
//尾插法建立链表
LNodePtr CreateListTail(int n){
struct LNode l1;
LNodePtr p;
LNodePtr r;
int i;
struct LNode* L = (struct LNode*)malloc(sizeof(struct LNode));
L->next = NULL;
L->data = 0;
r = L;
for(i = 0; i < n; i ++){
p = (struct LNode*)malloc(sizeof(struct LNode));//每次动态申请一个结构体空间存储
p->data = i;
r->next = p;
r = p;
}
r->next = NULL;
return L;
}
//链表的遍历输出
void TraverseList(LNodePtr L){
LNodePtr p, q;
p = L;//将头指针赋值给p
while(p->next != NULL){
q = p->next;
printf("%d\n", q->data);
p = p->next;
}
}
int main()
{
LNodePtr l1 = CreateListTail(5);
TraverseList(l1);
return 0;
}
热门推荐
房产投资价值怎么选
湿疹皮炎角质层薄怎样修复
良性肿瘤和恶性肿瘤有哪些区别?良性肿瘤真的无害吗?
梁晓声:什么才是真正的人间清醒?
UNO正确玩法教学|UNO功能牌官方正确规则及限制!不可以疯狂+2、+4?
羽毛球运动员发球技巧剖析(掌握正确的发球姿势和技巧)
飯後總想睡與糖尿病有關?
乒乓球饭圈文化:国球运动的新活力还是潜在威胁?
我炒我炒我炒!今天就适合吃炒粉!
网友:求助,在家测血氧饱和度很低,怎么办?医生:注意,你可能没测对
天津医科大学发现,中国血脂异常的人,这么吃,可降低心血管代谢疾病风险
科技助浴解决高龄失能老人洗澡难题
医生解答:牛奶加酒一起喝真的会伤身吗?
厂家金融和银行贷款有什么区别,秒懂厂家金融VS银行贷款差异
新能源汽车电机故障全解析
项目合同管理台账怎么做
孕前遗传咨询是否可以帮助宝宝的遗传疾病风险?
高桥凉介的fc原型是哪辆车
上市银行薪酬榜之光大、无锡、青岛:平均月薪均低于4万,两家逆势涨薪
俄媒评选年度TOP6-10选手:NiKo第8,b1t第7
做实业的定义是什么?做实业面临的挑战和机遇有哪些?
证据保留:什么是不被保留的?
法人与股东:角色界定与责任厘清
古琴与古筝:一雅一俗,一出尘一世
属蛇沙中土命五行缺什么:1977年出生者详解
芍药甘草汤:中医经典方剂的功效与应用
房屋买卖双方需要什么材料
海带丝怎样做好吃又简单?海带丝新吃法,简单又美味!
研发项目知识交流:促进创意碰撞与灵感激发
甲骨文中的“福”字:从敬神祈福到传统文化符号