数据结构:循环链表
创作时间:
作者:
@小白创作中心
数据结构:循环链表
引用
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指针指向链表中的某个中间节点,形成了一个环。最后,通过快慢指针的方法判断链表中是否存在环。
热门推荐
暑期打卡河南博物院:一睹莲鹤方壶风采
贾湖骨笛:8000年前的“中华第一笛”
莲鹤方壶:春秋时期的青铜器绝唱
河南博物院新展开幕:历史与现代的碰撞
科学揭秘:当实验照进"灵异"
《关人鬼事》揭秘:灵异现象的心理冲击
全球灵异传说大揭秘:从文化到心理的深度解读
普林斯顿大学揭秘:灵魂出窍的真相
PostgreSQL数据库管理新趋势:pg_size_pretty的应用
PostgreSQL 16:用pg_size_pretty提升DBA效率
巧用pg_size_pretty提升数据库管理效率
掌握pg_size_pretty,轻松提升PostgreSQL性能!
从“煤都黑”到“大同蓝”:一座城市的环保蝶变
大同村:香蕉甘蔗丰收,广州卫生村的秘密武器
《剑来》:马苦玄与陈平安的宿命对决,谁才是真正的胜利者?
《剑来》马苦玄:一位高位神转世的孤独与决绝
《剑来》马苦玄:从绝世大冤种到江湖传奇
中医体质辨识
川味钵钵鸡
“车厘子自由”?有人发帖说吃后腹泻呕吐,专家解释
血脂高有什么办法降血脂
玉林一日游:打卡这5大宝藏景点!
短时间午睡:摆脱抑郁的科学之道
三国午睡研究:如何科学午睡更健康?
复旦教授研究:午睡时间长短竟会影响心理健康?
孙龙短道速滑世巡赛夺双牌!
洛阳博物馆新展来袭!探秘“峇峇娘惹的世界”
洛阳博物馆镇馆之宝揭秘:曹魏白玉杯
探秘十三朝古都的时光印记——洛阳博物馆
洛阳博物馆:40万件文物诉说千年古都的辉煌