建立双链表(头插法)
双链表存储结构:
要建立双链表,首先要明白双链表的存储结构定义:
typedef struct DLinkList{ //存储结构定义int data;DLinkList * prior;DLinkList * next;}
思想:
从一个空表开始,读取数组a中的元素,生成新节点。将读取在节点的数据域,然后将节点插入到当前链表的表头上,在头结点后,首结点之前。 直到结束为止
思路:
1.创建一个头结点 L 并将前驱指针和后继指针都置为零
2.通过for循环,将一个个元素读取,并保存数据域中,并插入到链表中。
总结:
这里有两个指针域,与单链表不同(只有一个指针域),所以这里要改动四处,前后各两个(单链表只改动两个)
C代码实现:
void CreateDListF(DLinkList *& L,int a[],int n){DLinkList * s; int i;L = (DLinkList *)malloc(sizeof(DLinkList));L->next = L->prior = null; //将前后指针域置为空for(int i = 0; i < n; i++){s = (DLinkList *)malloc(sizeof(DLinkList));s->data = a[i];s->next = L->next; //这两个为后继指针的if(L->next != null){L->next->prior = s;}L->next = s; //这两个为前驱指针的s->prior = L;}}
建立双链表(头插法)相关推荐
- 不带头结点建立单链表(头插法、尾插法)
#include<iostream> using namespace std; #include<stdlib.h> typedef int ElemType; typedef ...
- 建立双链表(尾插法)
双链表存储结构: 要建立双链表,首先要明白双链表的存储结构定义: typedef struct DLinkList{ //存储结构定义int data;DLinkList * prior;DLinkL ...
- C语言实现单链表头插法
//链表结构 //a是数据域 //node是指针域 //typedef是结构体简化语句 //node用于后面初始化空间的时候取结构体的占用空间大小 //listnode是整个链表的头指针指向,即指向链 ...
- 王道代码版单链表头插法,不带头的头插法,尾插法,不带头的尾插法的总结
在编译器上面编译发现很容易控制台打印不出来,这可能就是细节所在,但是网上也没有很全的全代码输出的案例.我做题的感觉写的是对的其实并不对,你只是第六感感觉是对的仅此而已!!!要注意引以为戒,下面总结一下 ...
- C语言 链表 头插法
代码(VS2017中运行) #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #incl ...
- 单向链表 头插法尾插法
链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个结点里存到下一个结点的地址.链表在存储数据结构的内存中有两块区域.一块区域用来存 ...
- jdk1.7HashMap链表头插法导致的死循环
jdk1.7的HashMap的源码分析参考我之前整理的HashMap,之前也有整理头插法导致的死循环,这里再整理一下.参考连接 扩容的核心源码如下: void transfer(Entry[] new ...
- 单链表头插法与尾插法的c语言实现(回顾)
#include<stdio.h> #include<math.h> #include<stdlib.h> typedef struct node{int data ...
- c语言链表排序新增头指针法,C语言链表头插法,尾插法,排序
题目描述 火车站要组装一列动车.每列车厢有车厢编号.座位数和座位等级.现在请你把它们组装起来,要求按照车厢号码升序排列,并输出每列车厢的信息.请使用链表来实现. 输入 输入有多组. 每组有多行.第一行 ...
最新文章
- 如何将程序添加到系统服务实现开机自启动
- 【Google Play】正式版上架流程 ( 创建版本 | 设置国家地区 | 发布正式版 )
- Yahoo! UI Library入门
- 服务器性能 平均磁盘写入,磁盘系统IO性能测试
- VS2013无法启动 IIS Express Web解决办法
- Spring boot mongodb
- Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View...
- 这可能是最适合C++学习者的书单
- “鸿蒙”系统的产生并不是为了手机?任正非透露实情...
- Java Web学习总结(44)—— RESTful 架构和 RESTful API 设计总结
- Node.js学习(第一章:Node.js安装方法及模块化理解)
- 黑马day11 脏读数据amp;解
- 专业设计服务器硬件主电路板工作室,电子设计教程: 电平转换电路
- 路由器怎么连接台式电脑
- Windows Identity Foundation-- Windows身份验证基本框架
- 【2022国赛模拟】摆(bigben)——行列式、杜教筛
- 真爱过的人,不会再有爱~
- 优秀新媒体文案的4种必备能力
- 张柏芝、谢霆锋、陈冠希近半年行踪关系图,这个图很厉害,可以作为思维导图的工具...
- Ubuntu移除PDF密码