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

网站建设公司果动c市场调研公司

网站建设公司果动c,市场调研公司,app下载官网,做vlogger的网站有哪些在前面我们学习了单链表,发现单链表还是有一些不够方便,比如我们要尾插,需要遍历一遍然后找到它的尾,这样时间复炸度就为O(N),现在我们引入双向带头链表就很方便了,我们先看看它的结构。通过观察,我们发现一…

在前面我们学习了单链表,发现单链表还是有一些不够方便,比如我们要尾插,需要遍历一遍然后找到它的尾,这样时间复炸度就为O(N),现在我们引入双向带头链表就很方便了,我们先看看它的结构。

通过观察,我们发现一个结构体里面我们存两个指针,一个指向前面的,一个指向后面的,这样就是双向了,头指针指向尾,我们找尾,只需要通过头指针找,很方便,我们找一个指针节点上一个,也很便利,如果是单链表,我们还需要从头开始找。所以是带头双向循环链表真的很方便。

我们先创建一个结构体,接下来就是对它初始化了。

因为我们我们是带头的,这个哨兵位的头需要在初始化的时候创建,后面我们插入数据也需要创建节点,所以我们就将创建节点的过程写成一个函数。

我们利用一个函数创建节点,初始化时结构体里面的指针指向自己

带头双向循环链表也和单链表一样,有头插,尾插,头删,尾删,在某个位置前插入,删除。

我们先来看看插入的操作,头插

头插,我们只需要改连接关系就好。
首先,我们创捷一个节点。
然后,在哨兵的后面插入节点,改变连接关系就可以完成连接。

尾插的插又怎么实现呢?

在之前的单链表,我们还需要找尾,然后在尾的后面插入(改连接关系)

我们的带头双向循环链表的便利之处在于,我们可以快速的找到尾,我们哨兵位的prev就是链表的尾。

在某个位置前面插入我们应该怎么做?

在单链表,我们需要找到pos位置前面的地址,我们要从头开始找。带头双向循环链表的便利在于我们的pos的prev就是我们要找的地址。简单的修改连接关系,就能完成我们的插入。

写着写着,我们发现,我们在某个位置插入元素好像和头插,尾插,有相似的地址。
头插,就是在哨兵位后一个节点的前面插入,我们也可以利用在某处插入元素的函数,这样大大节省书写时间。
尾插,就是在哨兵位的前面插入,这个更加简单。
所以我们的头插,尾插,可以复用我们在某处插入的函数。

插入讲完了,下面我们来说说删除。

尾删,是怎么操作的?

在单链表我们需要找到尾,同时记录尾的前一个,我们将尾释放,将尾前一个的next置尾空指针.

头删的操作。

我们带头双向循环链表,有一个哨兵位,所以我们需要绕开它,然后删除它后面的第一个节点,然后修改连接关系。我们删除前需要判断链表是否为空。

我们发现删除好像都需要判断是否为空,我们前面的尾删也需要,所以我们需要在尾删的地方加上判断。

如何删除某个节点的,我们需要配合一个查找函数,来查找节点。

我们发现删除某个节点位置的函数也可以与头删,尾删复用。

尾删我们传哨兵位的prev

头删我们传哨兵位的next

http://www.ds6.com.cn/news/27578.html

相关文章:

  • 国内餐饮设计网站建设seo技术软件
  • wordpress 互动插件seo查询官网
  • 网站备案步骤我是做推广的怎么找客户
  • 常州专业房产网站建设故事型软文广告
  • 傻瓜式大型网站开发工具苏州网络推广seo服务
  • 政务公开做的好的网站有哪些微信朋友圈广告
  • 农林牧渔行业网站建设今日军事新闻
  • 建设银行网站安全分析百度网盘搜索引擎盘多多
  • dedecms和wordpress廊坊seo排名公司
  • 网站建设价格北京百度总部电话
  • 全面的网站制作网络营销是什么工作主要干啥
  • 做网站资料互联网营销师培训费用是多少
  • 如何利用谷歌云做自己的网站线上营销工具
  • 重庆推广一个网站宁波seo网站服务
  • 公司网站域名注册百度指数第一
  • 网站建设详细免费seo视频教学
  • 优化网站和网站建设常用于网站推广的营销手段是
  • 网站开发 科技百度自动点击器怎么用
  • asp网站开发模板个人网站建设
  • 自己怎么做直播网站在线外链工具
  • 开发公司资质分几个等级网站优化靠谱seo
  • 动态网页网站互联网项目
  • 河南省建设厅注册中心网站首页数据分析培训机构哪家好
  • 长春做商业平台网站深圳关键词推广优化
  • 网站开发工程师的职务合肥seo排名优化公司
  • 在线做venn图网站创建网站需要多少资金
  • 政府网站栏目设置如何进行网站制作
  • 苏州高端网站建设kgwl独立站seo是什么意思
  • 东莞学做网站怎么样免费做网站
  • php网站截图东莞网站建设最牛