码迷,mamicode.com
首页 > 其他好文 > 详细

链表-指定位置的插入

时间:2021-04-15 12:10:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:操作   时间   img   修改   复杂度   图片   height   因此   width   

在给定插入位置的前提下,给定结点插入操作,只要局部修改结点的链域即可。

插在表头:

假设已存在一个以 head 为首指针的链表,新插入的结点 “陈” 已经创建完毕,用 p指针 指示。

技术图片

使结点 “张” 作为结点 “陈” 的后继结点,然后执行 head = p;修改表头指针 head 使其指向新的头结点 “陈”。

注意对比图形显示与描述语句之间的对应关系。

 

---------------------------分---------------------------割---------------------------线---------------------------

 

插在表中:

技术图片

 

 

假设将新节点 “陈” 插在结点 “王” 的后面,那么结点 “李” 就变成了结点 “陈” 的后继结点,假设已知指向结点“王” 的指针q,结点李的地址就是 q->next,因此只要完成 “王”,“陈”,“李” 之间的链接操作即可:

① 先执行 p->next = q->next;

② 再执行 q->next = p;

显然,指定位置的插入,它的时间复杂度是O(1)的。

技术图片

 

链表-指定位置的插入

标签:操作   时间   img   修改   复杂度   图片   height   因此   width   

原文地址:https://www.cnblogs.com/AronKeener/p/14658342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!