建立双链表(尾插法)
双链表存储结构:
要建立双链表,首先要明白双链表的存储结构定义:
typedef struct DLinkList{ //存储结构定义int data;DLinkList * prior;DLinkList * next;}
思想:
该方法是将新节点插入双链表的表尾,为此增加一个尾指针r.使其始终指向当前链表的尾结点
思路:
1.建立头结点L,定义一个尾指针r, 并同时将r指向L。
2.通过for循环将数组元素一个个插入到链表表尾。
指针域复制,指针域修改
3.最后那个节点要置空、
总结:
1.无论是单链表还是双链表,用尾插法时,最后一个节点都要置为空。
2.头插法是和数组逆序的, 而尾插法是和数组顺序的
C代码实现:
void CreateDListF(DLinkList *& L,int a[],int n){DLinkList * s, *r ; int i;L = (DLinkList *)malloc(sizeof(DLinkList));r = L; //将前后指针域置为空for(int i = 0; i < n; i++){s = (DLinkList *)malloc(sizeof(DLinkList));s-data = a[i];r->next = s;s->prior = r;r = s;}r->next = null;}
建立双链表(尾插法)相关推荐
- 单链表建立——头插法和尾插法
引言 当我们准备采用单链表形式实现线性表,第一步就是要建立单链表,即初始化.由于链表是一个动态结构,不需要预先分配空间,因此生成链表的过程就是"逐个插入"的过程,插入结点的位置可以 ...
- 数据结构之单链表尾插法创建-RearCreate
/* 单链表整表创建算法思路 1.声明一结点p和计数器变量i 2.初始化一空链表L 3.让L的头结点的指针指向NULL,即建立一个带头结点的单链表 4.循环: 生成一新结点赋值给p 随机生成一数字赋值 ...
- 单链表 尾插法 C语言
注意用malloc开辟空间用的是node*,而其对应的访问也是用"->" #include<iostream> #include<cstdio> #i ...
- 建立双链表(头插法)
双链表存储结构: 要建立双链表,首先要明白双链表的存储结构定义: typedef struct DLinkList{ //存储结构定义int data;DLinkList * prior;DLinkL ...
- 单链表-两个线性表的合并(不破坏原链表+尾插法)
题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...
- 单链表-两个线性表的合并1(破环原链表+尾插法)
题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...
- 采用头插法和尾插法建立单链表
面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...
- 单链表的建立(C语言):头插法和尾插法建立单链表
采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4 头插法建立单链表 头插法建 ...
- 尾插法,前插法 建立单链表
目录 尾插法正向建立单链表 前插法逆向建立单链表 首先定义一个一个单链表 typedef struct LNode{int data; //数据域 struct LNode *next; //指针域 ...
- 数据结构__头插法建立单链表、尾插法建立单链表
单链表定义.头插法建表.尾插法建表 一.单链表的定义 单链表是线性表的链式存储,是指通过一组任意的存储单元来存储线性表中的数据元素. 单链表结构定义为: 其中data为数据域,用来存放数据:nex ...
最新文章
- PowerBuilder 11.x 的重要进步和不足
- Smarty变量调节器的使用
- python多元回归预测例子_Python机器学习,多元线性回归分析问题
- CentOS7 install google-chrome-stable
- 这就是搜索引擎:核心技术详解
- 微软 azure_在Microsoft Azure上运行Eclipse MicroProfile
- Undefined control sequence. \makecover
- Python编码风格指南
- 经常用到的一些小病的预防的治疗
- TCL语言笔记:TCL过程控制练习
- 电子设计竞赛控制组——完整旋转倒立摆程序
- 【ANSYS命令流】定义单元类型与实常数
- 计算机运行慢 卡是什么原因是什么原因,电脑反应慢是怎么回事?五招让你的电脑快得飞起!...
- MIT线性代数笔记二十八讲 相似矩阵和若尔当标准型
- timeline java_Java Timeline.stop方法代码示例
- Oracle EBS 键弹性域 段限定词取值
- 计算机打文档的技巧,电脑word文档下划线怎么打(word文档编辑小技巧)
- STN向城域云网演进浅析
- 家庭玩游戏配置哪种计算机,玩游戏用什么系统?Win10专业版和Win10家庭版玩游戏的区别...
- 关于RTC(实时时钟)