当前位置: 首页 > news >正文

个人网站建设的论文网站建设心得8000字

个人网站建设的论文,网站建设心得8000字,环保部网站建设项目验收方案,wordpress网页慢循环链表#xff1a;循环单链表、循环双链表 1. 循环单链表 循环单链表#xff08;Circular Singly Linked List#xff09;是一种特殊类型的单链表#xff0c;其中最后一个节点的指针指向头节点#xff0c;形成一个循环。 循环单链表与普通单链表的主要区别在于#xf…循环链表循环单链表、循环双链表 1. 循环单链表 循环单链表Circular Singly Linked List是一种特殊类型的单链表其中最后一个节点的指针指向头节点形成一个循环。 循环单链表与普通单链表的主要区别在于循环单链表的尾节点的指针不是指向 nullptr而是指向头节点形成一个闭环。这意味着在循环单链表中可以通过尾节点的指针重新回到头节点。 循环单链表可以具有以下特点和优势 尾节点的指针指向头节点使得在遍历链表时不需要特别处理尾节点方便实现循环遍历。可以更容易地进行环形操作如判断链表是否形成环、寻找环的起始点等。循环单链表的插入和删除操作相对简单因为不需要特别处理头部和尾部情况。在使用循环单链表时我们需要额外关注以下几点在插入和删除节点时要确保更新指针的正确性以避免死循环或链表中断。在循环单链表中遍历时要设置终止条件防止进入无限循环。 1.1 初始化一个循环单链表 typedef struct LNode //定义单链表结合类型 {ElemType data; //每个结点存放一个一个数据元素struct LNode *next; //指针指向下一个结点 }LNode, *LinkList;//初始化一个循环单链表 bool InitList(LinkList L) {L (LNode *) malloc(sizeof(LNode)); //分配一个头结点if(L NULL) //内存不足、分配失败return false;L-next L; //头结点next指向头结点return true; }2.2 判断单链表是否为空 //判断循环单链表是否为空, 检查头结点指针是否指向它自己就行,如下图所示 bool Empty(LinkList L) {if(L-next L) //检查头结点指针是否指向它自己return true;else return false; }2.3 判断 p 结点是否为循环单链表的表尾结点 //判断 p 结点是否为循环单链表的表尾结点 bool isTail(LinkList L, LNode *p) {if(p-next L)return true;elsereturn false; }从头结点找到尾部时间复杂度为O(n), 从尾部找到头部时间复杂度为O(1), 可以让L指向表尾元素(插入、删除时可能需要修改L) 2. 循环双链表 循环双链表Circular Doubly Linked List是一种特殊类型的双向链表其中最后一个节点的下一个指针指向头节点头节点的前一个指针指向最后一个节点形成一个循环。 循环双链表与普通双链表的主要区别在于循环双链表既具有双向链表的前驱和后继关系也具有循环遍历的能力。 双链表表头结点的prior指向NULL; 表尾结点的next指向NULL。 循环双链表表头结点的prior指向表尾结点 表尾结点的next指向头结点。 2.1循环双链表的特点和优势 可以通过任意节点的前驱和后继指针方便地在双链表中进行插入和删除操作。最后一个节点的下一个指针指向头节点使得在遍历链表时不需要特别处理尾节点可以很方便地实现循环遍历。可以更容易地进行环形操作如判断链表是否形成环、寻找环的起始点等。循环双链表的插入和删除操作相对简单不需要特别处理头部和尾部情况。 在插入和删除节点时要确保更新前驱和后继指针的正确性以避免链表中断或形成其他错误结构。 在循环双链表中遍历时要设置终止条件防止进入无限循环。 2.2 循环双链表的初始化 当我们在初始化一个双链表时需要让头结点的前指针和后指针都指向头结点自己而普通的双链表指向NULL如下图所示 //初始化空的循环双链表 bool InitDLinkList(DlinkList L) {L (DNode*) malloc(sizeof(DNode)); //分配一个头结点if(L  NULL) //内存不足分配失败return false;L-prior L; //头结点的prior指向头结点L-next L; //头结点的next指向头结点return true; //初始化成功 }2.3 判断循环链表是否为空 typedef struct DNode //创建循环双链表 {ElemType data;struct DNode *prior,*next; }DNode, *DLinkList;void testDLinkList() {//初始化循环双链表DLinkList L;InitDLinkList(L);//.......后续代码....... } //判断循环链表是否为空 bool Empty(DLinkList L) {if(L-next L)return true;elsereturn false; } 2.4 判断结点p是否为循环双链表的表尾结点 bool isTail(DLinkList L, DNode *p) {if(p-next L)return true;elsereturn false; }2.5 双链表的插入 //在p结点之后插入s结点 bool InsertNextDNode(DNode *p, DNode *s) {s-next p-next; //将结点*s插入到结点*p之后p-next-prior s; //如果s-prior p;p-next s; }2.6 双链表的删除 //删除p的后继结点q p-next q-next; q-next-prior p; //如果p没有后继结点普通循环链表会出问题 free(q);3. 知识回顾
http://www.zqtcl.cn/news/4784/

相关文章:

  • 无锡网站建设价格合肥网站建设的公司
  • 如何在后台做网站分页电子商务网站系统规划 案例分析
  • 企业 网站 设计成都网站开发公司有哪些
  • 厦门网站制作网站建设收费建站模板网
  • 网站访客记录 是后台做吗室内设计平面图库
  • 东营建设信息网站打开qq邮箱进入wordpress
  • 佛山网页建站模板购物网站开发教程 视频
  • 郑州商城网站建设多少钱怎么做网站链接的快捷方式
  • 上饶做网站哪家好做网站开发注册工商户可以么
  • 空压机东莞网站建设重庆网站制作公司电话
  • 有哪些网站做的很有特色池州网站建设推广
  • php综合网站源码wordpress禁止抓分页
  • 杭州未来科技网站建设网站开发实战第二章
  • 网站上传图片不成功专注律师微网站建设与律师微信营销
  • 花店网站建设构思丹东供求园
  • 企业网站都没的百度快照咋办网站域名信息
  • .net开发的网站能做优化吗企业要建设一个网站需要多少钱
  • 哪些网站适合推广学校网站首页
  • 怎么用模板建站wordpress 采集文章 图片不显示
  • seo 优化技术难度大吗安卓内核级优化神器
  • 网站制作的教程哪个网站做系统好
  • 做淘宝这种网站深圳楼市最新消息
  • 去国外做网站鲜花店网站建设
  • 瑞安建设公司网站cms wordpress 区别
  • 刷赞网站怎么做的山东住房和城乡建设厅网站注册中心
  • wordpress企业建站七牛云
  • 廊坊电子网站建设小吃加盟方案
  • 网站域名怎么解释上海建站价格
  • 重生北京上大学开网吧做网站的小说wordpress调试工具
  • 可信赖的南昌网站建设广州企业网站推广策划方案