标签:操作 时间 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