本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | 后一修订版两侧同时换到之后的修订记录 | ||
dsa:notes:dahua_ds:3_linearlist [2017/03/24 23:48] – [6.4.单链表的插入] haregy | dsa:notes:dahua_ds:3_linearlist [2017/03/25 01:05] – [6.4.单链表的插入] haregy | ||
---|---|---|---|
行 196: | 行 196: | ||
- 对 '' | - 对 '' | ||
- 程序成功执行,返回 '' | - 程序成功执行,返回 '' | ||
+ | ===6.5.单链表的删除=== | ||
+ | 单链表的删除则更简单了,只需要把要删除的节点的前驱结点直接指向要删除节点的后置节点就可以: | ||
+ | \\ | ||
+ | \\ | ||
+ | {{ : | ||
+ | \\ | ||
+ | \\ | ||
+ | 用代码可以表示为: | ||
+ | < | ||
+ | front -> next = new -> next; | ||
+ | </ | ||
+ | 注意:< | ||
+ | 实现链表删除第 $i$ 个数据的的流程如下: | ||
+ | - 初始化:创建节点 '' | ||
+ | - 当 '' | ||
+ | - 如果到链表末尾 '' | ||
+ | - 否则查找成功,删除节点。 | ||
+ | - 释放被删除节点的内存。 | ||
+ | - 返回成功。 | ||
+ | ===6.6.链表清空(销毁)=== | ||
+ | 链表的删除和创建一样也需要遍历,同时也需要挨个的释放节点的内存。算法思路大概如下: | ||
+ | - 声明节点 '' | ||
+ | - 用 '' | ||
+ | - 循环: | ||
+ | - 用'' | ||
+ | - 释放 '' | ||
+ | - 将 '' | ||
+ | ===6.7.总结=== | ||
+ | 学习完了线性表和链表,我们可以明确几个注意点: | ||
+ | - 需要频繁查找的时候,使用线性表;而需要频繁插入删除的时候,使用单链表。 | ||
+ | - 如果不知道元素有多少,那么用单链表。如果事先知道长度,那么用线性表。 | ||