该方法从一个空表开始,读取数组a中元素,生成新节点,将读取的数据存在该节点的数据域中,然后将该新节点插入到当前节点的表头上,直到结束为止。

双链表的存储结构:

 typedef strcut DLinkList{int data;DLinkList *next;DLinkList *prior;}

思路:
1.创建头结点L,这里是循环链表,注意表头和表尾是相连的
2.通过for循环,创建新节点。然后将节点插入在头结点后,首结点之前。

注意循环双链表和 非循环双链表的区别

C代码实现:

 void CreateCDListF(DLinkList *& L,int a[],int n){DLinkList  * s; int i;L = (DLinkList *)malloc(sizeof(DLinkList));L->next = L->prior = L; **//注意,这里是区别之处**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;}
}

建立循环双链表(头插法)相关推荐

  1. 建立循环双链表(尾插法)

    该方法是将节点插入在当前循环双链表的表尾上,为此增加一个尾指针r ,并始终指向当前链表的尾节点,最后让r->next 指向头结点.头结点的prior 指向尾节点. 注意:这里头结点,尾节点 要相 ...

  2. 第四周实践项目6 循环双链表应用

    /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目6-设非空线性表ha和hb都用带头节点的循环双链表表示.设计一个 ...

  3. 线性表文档之循环双链表

    循环双链表 定义 概念 循环双链表就是在双链表的基础上,见链表的尾结点和链表的第一个结点连接起来,形成一个循环. 如果是带头结点的循环双链表,则将链表的尾结点的 next 指针指向链表的头结点,将链表 ...

  4. 循环双链表的手动构建总结

    我们常用的是单链表的算法.虽然双链表和循环双链表的算法常常被拿来作为一种设计的思路,也常假想有一个循环双链表,对它进行操作,实际上我从没动手写过循环双链表. 在手动实现单链表的习题多道以后,有了一种对 ...

  5. [C语言实现]带你手撕带头循环双链表

    目录 什么是双链表? 带头结点的优势: 双链表的实现: 什么是循环双链表? 众所周知,顺序表的插入和删除有时候需要大量移动数据,并且每次开辟空间都可能会浪费大量内存和CPU资源,于是我们有了链表,我们 ...

  6. 【数据结构】线性表的链式表示-循环单链表、循环双链表、静态链表

    循环单链表 从任何一个结点出发都能访问到链表的每一个元素 判空条件不是头节点的后继指针是否为空,而是它是否等于头指针 有时对单链表常做的操作实在表头和表尾进行的,此时可对循环单链表不设头指针而仅设尾指 ...

  7. (王道408考研数据结构)第二章线性表-第三节3:循环单链表和循环双链表

    文章目录 一:循环链表定义 二:循环单链表 三:循环双链表 一:循环链表定义 循环链表:规定好头尾结点的指向形成成环状 循环单链表:其尾节点的next指针由原本的空改为指向头结点 循环双链表:其尾节点 ...

  8. 判断循环双链表是否对称

    题目:设计一个算法判断带头结点的循环双链表是否对称 分析:         简单分析,我们可以设置两个指针,pre和next,从头结点出发,进行比较,若pre与next所指值不同,则不对称,若pre和 ...

  9. 数据结构-循环双链表

    循环链表,就是把链表给首尾相连,即尾结点的next指向L头结点,而循环双链表不仅尾结点指向头结点,且头结点的prior指向尾结点,判断为空时,只要看尾结点下一个是否指向头结点,循环链表的操作和链表的操 ...

最新文章

  1. BigDecimal类的加减乘除
  2. python中的类装饰器应用场景_Python 自定义装饰器使用写法及示例代码
  3. 技术管理者怎样跳出“泥潭”
  4. target runtime apache v7.0 not defined 的解决方法
  5. python函数对变量的作用_python函数对变量的作用及遵循的原则
  6. 高效程序猿之(三)VS2010快捷键(转)
  7. 小议Linux中的僵死进程
  8. flex布局精髓和填坑
  9. 安装VS2010 SP1与ASP.NET MVC4详细步骤
  10. 最全Android UVC Camera 闪退问题修复
  11. [转]移动App测试中的最佳做法
  12. div显示在上层_怎样设置一个DIV在所有层的最上层,最上层DIV
  13. 为什么需要Secondary Index
  14. 销售如何维护客情关系 销售维护客户有什么方法
  15. js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案
  16. 全网最硬核 JVM TLAB 分析(额外加菜) 8. 通过 JFR 监控 TLAB
  17. OpenGL 立方体贴图Cubemaps
  18. 贴现、贴现率、贴现值、现值、折现值、PV搞搞清楚
  19. Unity Shader 卡通渲染 (五):仿日式赛璐珞风格 Shader(顶点外扩描边)
  20. 基于java的保险业务管理系统的设计与实现

热门文章

  1. 循环遍历和迭代器遍历如何选择
  2. Selenium + Python + Chrome 自动化测试 环境搭建
  3. 阿里巴巴发布《2015移动安全漏洞年报》
  4. 微信内置浏览器中的cookie很诡异呀
  5. Ingress 继任者 Gateway API 使用
  6. 惊了,老板要我开发一个工作流引擎!
  7. 某程序员吐槽:媳妇要给孩子报少儿编程班,将来继续做程序员!以后要看到穿着纸尿裤的P7!...
  8. 高德技术评测建设之路
  9. 咱们码农可以从曾国藩身上学到点什么呢?
  10. 一文搞懂全链路监控:方案概述与比较!