数据结构:循环链表
创作时间:
作者:
@小白创作中心
数据结构:循环链表
引用
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指针指向链表中的某个中间节点,形成了一个环。最后,通过快慢指针的方法判断链表中是否存在环。
热门推荐
壁挂炉自检方法详解(从使用到维护)
壁挂炉出现红色故障指示灯,该如何快速诊断并解决问题?
竹海听风语 青山映溧阳
秋日出游去常州南山竹海,如何在竹林中享受静谧的时光?
壁挂炉为什么点不着火(探究壁挂炉点火失败的原因及解决方法)
中伏晒背不如喝这三种“神仙汤”,一碗下肚全身舒爽,营养又美味
如果泰森和阿里同处一个时代,会发生什么
泰森的最后一战:58岁拳王的复出之路
科技部发布脑机接口伦理指引:六大原则保障技术健康发展
2025请为自己列一份新的健康计划
春节前私家车拉货避坑指南
轿车载货小妙招,你get了吗?
春节返程,私家车这样装货会被罚!
Windows 11蓝牙设备配对指南
蓝牙驱动安装程序:一劳永逸解决设备连接难题
2025广东年夜饭菜谱,广东年夜饭意头菜菜谱及寓意
陕西十大经典小吃:每一种都是陕西人的味觉记忆
每天多喝水对皮肤好吗?
筋道有弹性的柞水擀面皮,是早餐和夜宵的绝佳选择!
孩子挑食?这些心理原因你了解吗?
卫生间管道漏水处理及维修方法详解
微信投屏新姿势:秒变家庭影院!
2025年春节期间交通态势分析预测及出行提示
中国红十字基金会感谢刘亦菲捐赠:慈善之路与明星担当
你好,这里是江苏!|淹城:春秋看淹城,奇观甲天下
江苏4个低调的5A级景区,很多人不知道,你去过吗?
凉拌仙人掌:降糖又提免,你吃了吗?
秋冬养生新宠:仙人掌的神奇功效与多种食用方法
夏日清爽:梨果仙人掌凉拌新吃法
秋冬养生新宠:凉拌仙人掌