【❂Java集合】循环链表和双向链表的区别是是什么
最后一个结点指针指向不同
在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是像双向链表那样置为NULL。此种情况还用于在最后一个结点后插入一个新的结点。
判断链域值不同
在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到表尾。而非像单链表那样判断链域值是否为NULL。
访问方式
循环链表:可以从任何一个结点开始,顺序向后访问到达任意结点
双向链表:可以从任何结点开始任意向前向后双向访问
操作
循环链表:只能在当前结点后插入和删除
双链表:可以在当前结点前面或者后面插入,可以删除前趋和后继(包括结点自己)
存储
循环链表存储密度大于双链表
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-05-14 【专题-Java】JDK动态代理和CGLIB动态代理的区别
2022-05-14 【专题-Java】 Comparator与Comparable有什么区别?
2022-05-14 【专题-Java】静态代理和动态代理的区别
2022-05-14 【专题-Java】BIO、NIO、AIO 有什么区别?
2022-05-14 【专题-Java】 String,Stringbuffer,StringBuilder的区别
2022-05-14 【专题-Java】抽象类和接口有什么区别
2022-05-14 【专题-Java】Java 8新增了哪些特性?