参考
博文01:https://www.cnblogs.com/muyangshaonian/p/9650554.html
博文02:https://www.cnblogs.com/lz3018/p/5932198.html
博文01
常用数据结构的应用场景
1、单向链表
单向链表适用于只从一端单向访问的场合,这种场合一般来说:
(1)、删除时,只适合删除第一个元素;
(2)、添加时,只直接添加到最后一个元素的后面或者添加到第一个元素的前面;
(3)、属于单向迭代器,只能从一个方向走到头(只支持前进或后退,取决于实现),查找效率极差。不适合大量查询的场合。
这种典型的应用场合是各类缓冲池和栈的实现。
2、双向链表
双向链表相比单向链表,拥有前向和后向两个指针地址,所以适合以下场合:
(1)、删除时,可以删除任意元素,而只需要极小的开销;
(2)、添加时,当知道它的前一个或后一个位置的元素时,只需要极小的开销。
(3)、属于双向迭代器,可以从头走到尾或从尾走到头,但同样查找时需要遍历,效率与单向链表无改善,不适合大量查询的场合。
这种典型的应用场景是各种不需要排序的数据列表管理。