数据结构:循环链表
创作时间:
作者:
@小白创作中心
数据结构:循环链表
引用
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指针指向链表中的某个中间节点,形成了一个环。最后,通过快慢指针的方法判断链表中是否存在环。
热门推荐
相逢已是上上签:从古至今,友情为何如此珍贵?
《某某》主演:相逢已是上上签,何必相思煎熬?
电影《纵然结局不如意,遇见便是上上签》的爱情启示
速度大比拼!不同年龄5公里配速,你超越同龄人了吗?
《星际穿越》:一场穿越时空的宇宙探险
阳台种菜:都市生活中的“开心农场”
中国农业大学李教授推荐:阳台种菜全攻略
星座命理助你提升爱情运势!
八字算命在职场中的应用:理性看待,适度参考
自我认同感爆棚!你也可以做到
郑州心理:如何提升自我价值认同?
GameBro力荐:《文明6》,策略游戏巅峰!
《欧陆风云4》新手入门指南:从零开始建立你的帝国
苏联数学教材:现代教育的硬核启示
上饶米粉:一座城市的味觉记忆
秋冬打卡上饶:从早到晚的味蕾享受
从产品为王到品牌为王:中小企业出海路径探索
揭秘道教咒语:“急急如律令”究竟何意?
家庭规则:培养孩子责任感的智慧之道
张氏家族家规:现代企业伦理的新启示
张载关学:现代家庭教育的新启示
秋冬自驾游:北京到九江的省钱秘籍
秋日打卡:库尔勒三大绝美景点
库尔勒香梨:从“梨城”到“世界”的甜蜜之旅
库尔勒香梨:新疆首个“千亿县”的甜蜜密码
库尔勒香梨:一颗凝聚千年精华的“西域圣果”
万元自动挡二手车怎么选?这几款捡漏车型值得考虑
2024年末爱情运势大揭秘!
2025年乙巳年:你的感情运势与恋爱攻略
历史上欧洲王室的危机时刻