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

建设个人你网站许昌seo公司

建设个人你网站,许昌seo公司,网页qq登陆手机版网址,网站官网建设一、双链表 (一)双链表的定义 双链表是在单链表结点上增添了一个指针域prior,指针域prior指向当前结点的前驱结点,即此时链表的每个结点中都有两个指针域prior和next,从而可以很容易通过后继结点找到前驱结点&#x…

一、双链表

(一)双链表的定义

双链表是在单链表结点上增添了一个指针域prior,指针域prior指向当前结点的前驱结点,即此时链表的每个结点中都有两个指针域prior和next,从而可以很容易通过后继结点找到前驱结点,故访问前驱和后继结点的时间复杂度都为O(1)
在这里插入图片描述

(二)双链表的判空

一个带头结点L的双链表,若L->next==NULL时,则该双链表为空;一个不带头结点的双链表,若L==NULL时,则该双链表为空。

双链表判空条件
带头结点L->next==NULL
不带头结点L==NULL

(三)双链表的插入操作

  • 由于双链表可以很快地找到前驱结点,所以双链表的插入、删除操作的时间复杂度都为O(1)

双链表的插入操作可以概括为【先连后,后连前】,若在指针 *p 指向的结点之后插入结点 *q,首先,新结点q与原本 *p的指针域相连,即下一个结点,然后将结点q插入到结点p之后,再将其prior和next域相连,代码如下:

q->next=p->next;
p->next->prior=q;
q->prior=p;
p->next=q;

在这里插入图片描述

这里的代码插入不唯一,插入操作必须保证的是不能断链,即不能导致*p的后继结点的指针丢掉。

(四)双链表的删除操作

双链表的删除操作的代码如下:

p->next=q->next;
q->next->prior=p;
free(q);

在这里插入图片描述

二、循环单链表

(一)循环单链表的定义

循环单链表可以实现从任一个结点访问链表中的任何结点(遍历整个链表。
在这里插入图片描述

(二)循环单链表的判空

在带头结点L的循环单链表中,若L==head->next时,循环单链表为空;在不带头结点的循环单链表中,若L==NULL时,循环单链表为空。

循环单链表判空条件
带头结点L==head->next
不带头结点L==NULL

(三)循环单链表的查找

在一个带头结点的循环单链表中:
1、若只设置头指针L,则查找表头结点的时间复杂度为O(1),查找表尾结点需要依次遍历整个链表,即时间复杂度为O(n),而查找一个结点的前驱结点时的时间复杂度为O(n)。
2、若只设置尾指针R,这样的好处是可以使查找链表的开始结点和终端结点很方便,其查找时间都为O(1),而查找一个结点的前驱结点时的时间复杂度为O(n)。

(四)循环单链表的插入操作

循环单链表的插入操作与单链表类似,也是【先连后,再连前】,若在指针 *p 指向的结点后插入结点 *p ,步骤是:首先将q的指针域与p结点原本的指向下一个结点的指针域相连,即q->next=p->next,然后再将q结点与p结点相连,即p->next=q,如下:

q->next=p->next;	//先连后
p->next=q;		//再连前

在这里插入图片描述

(五)循环单链表的删除操作

循环单链表的删除操作也与单链表类似,删除的步骤可概括为【先定位,后断开释放】,将*q指针指向要删除的结点,p为其前驱结点,如下代码:

q=p->next;	//先定位,定位删除位置
p->next=q->next;	//断开q与p的连接,p与下一个结点连接
free(q);	//free()函数释放结点

在这里插入图片描述

三、循环双链表

(一)循环双链表的定义

循环双链表基于双链表,头结点L的prior域指向表尾结点,查找表头结点和表尾结点的时间复杂度均为O(1),查找一个结点的前驱结点时的时间复杂度也为O(1)。
在这里插入图片描述

(二)循环双链表的判空

一个带头结点L的循环双链表,若L->prior==L&&L->next==L时,则该双链表为空。(头结点的prior和next域都指向其本身时为空)

循环双链表判空条件
带头结点L->prior == L && L->next == L
不带头结点L==NULL

(三)循环双链表的插入操作

若要在指针 *p 指向的结点后插入结点 *p,其代码如下:

q->next=p->next;
p->next->prior=q;
q->prior=p;
p->next=q;

在这里插入图片描述

(四)循环双链表的删除操作

将*p指针指向要删除的结点,其代码如下:

p->next->prior=p->prior;
p->prior->next=p->next;
free(p);

在这里插入图片描述

http://www.dtcms.com/wzjs/440483.html

相关文章:

  • 织梦网站源码下载赣州网站建设公司
  • 玩具网站建设网站运营需要多少钱
  • 建设网站用户名是什么原因石家庄seo外包公司
  • 1高端网站建设橘子seo查询
  • wordpress老版合肥网络优化推广公司
  • 深圳企业网站建设与设计制作seo优化网站推广全域营销获客公司
  • 临海建设局网站导航线上营销方式
  • 丹东城乡建设委员会网站黄页网络的推广
  • 用花生棒自己做网站西安外包公司排行
  • www 上海网站建设苏州网站制作公司
  • 网站头部导航代码直播营销策略有哪些
  • 门户网站类是什么意思网络营销案例分析论文
  • 博客类网站怎么做企业站seo外包
  • 武汉哪些网站做免费广告网络营销有本科吗
  • 笑话网站开发网站营销策划公司
  • 定西市建设局网站关键词排名优化技巧
  • wordpress 转圈加载上海野猪seo
  • html怎么弄成网站今日头条最新新闻消息
  • 平江县网站建设开封网站推广
  • 唐山门户网站建设深圳华强北
  • 网络规划设计师5天修炼电子版百度小程序优化排名
  • 免费ppt模板下载简约风seo是指搜索引擎营销
  • wordpress网站使用教程使用网站模板快速建站
  • 网站制作排版医疗网站优化公司
  • 汕头百度网站建设关键字参数
  • 做苗木网站网推技巧
  • 在线做数据图的网站链交换
  • 图片无法显示wordpress合肥seo优化
  • 公司做网站是管理费用网站优化外包找谁
  • 网站建设的初步预算找资源