数据结构:循环链表
创作时间:
作者:
@小白创作中心
数据结构:循环链表
引用
CSDN
1.
https://m.blog.csdn.net/2302_80795993/article/details/144679198
数据结构是Java语言学习中的重要组成部分,其中循环链表是一个常见的数据结构。循环链表的特点是链表中的最后一个节点指向链表的头节点,形成一个闭环。与普通链表不同的是,循环链表中的快慢指针终将相遇,这一特性使得循环链表能够实现无限遍历循环的功能。
下面是一个循环链表的Java代码实现示例:
package Linear;
public class CircleListCheckTest {
public static void main(String[] args) throws Exception {
// 创建结点
CircleListCheckTest.Node<String> first = new CircleListCheckTest.Node<>("aa", null);
CircleListCheckTest.Node<String> second = new CircleListCheckTest.Node<>("bb", null);
CircleListCheckTest.Node<String> third = new CircleListCheckTest.Node<>("cc", null);
CircleListCheckTest.Node<String> fourth = new CircleListCheckTest.Node<>("dd", null);
CircleListCheckTest.Node<String> fifth = new CircleListCheckTest.Node<>("ee", null);
CircleListCheckTest.Node<String> six = new CircleListCheckTest.Node<>("ff", null);
CircleListCheckTest.Node<String> seven = new CircleListCheckTest.Node<>("gg", null);
// 完成结点之间的指向
first.next = second;
second.next = third;
third.next = fourth;
fourth.next = fifth;
fifth.next = six;
six.next = seven;
// 产生环
seven.next = third;
// 判断链表是否有环
boolean circle = isCircle(first);
System.out.println("first链表中是否有环: " + circle);
}
public static boolean isCircle(Node<String> first) {
// 定义快慢指针
Node<String> fast=first;
Node<String> slow=first;
// 遍历链表
while(fast!=null && fast.next!=null){
fast=fast.next.next;
slow=slow.next;
if (fast.equals(slow)){
return true;
}
}
return false;
}
private static class Node<T> {
// 存储数据
T item;
// 下一个结点
CircleListCheckTest.Node<T> next;
public Node(T item, CircleListCheckTest.Node<T> next) {
this.item = item;
this.next = next;
}
}
}
这段代码首先创建了多个节点,并通过指针将它们连接起来形成一个链表。然后,通过将最后一个节点的next指针指向链表中的某个中间节点,形成了一个环。最后,通过快慢指针的方法判断链表中是否存在环。
热门推荐
写诗的基本技巧:初学者指南
如何选择合适的电视挂墙高度及注意事项
75寸电视机的最佳安装高度(打造完美的视听体验)
家庭电视机安装指南(快速上手)
《王者荣耀》封号事件背后:虚拟财产保护亟待完善
黎明版《我的中国心》短视频翻唱热潮:经典歌曲的传承与创新
探秘开心果的故乡(伊朗)
人类的曙光:文明的起源与发展
四大发明家及其伟大发明,他们分别是谁?
盐城:打造国际湿地城市典范
大丰中华麋鹿园:盐城三日游必打卡!
关于门诊医疗收费电子票据的相关解答
4个迹象表明你该换跑鞋了!选鞋前先看看这7个步骤....
简单易做的二十道家常菜菜谱
老公变心?专业心理咨询师教你这样应对
老公变心了?这5招让你重燃爱火!
从心理学视角解读:如何挽回变心的伴侣
《妻子的浪漫旅行》教你用职场技巧经营幸福婚姻
哈尔滨老道外:中华巴洛克建筑与民俗文化的完美融合
武林观|放下手机 不妨从年夜饭开始
时光相册丨年味记忆:年夜饭
来浙江传统村落过大年,上潮新闻参加话题活动!
春晚红包缺席背后:互联网大厂的理性回归与春晚转型
袁世凯:一位争议性历史人物的功过分析
小龙虾真的喜欢污水和腐肉吗?怎么吃才能更健康?
BERT模型如何破解NLP模糊信息难题?
模糊系统+深度学习,AI技术新突破!
冬季腹痛?听听专家白桦怎么说!
中国中医科学院推荐:冬季防腹痛小妙招
赵本山缺席春晚14年,观众为何如此想念?