数据结构:循环链表
创作时间:
作者:
@小白创作中心
数据结构:循环链表
引用
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指针指向链表中的某个中间节点,形成了一个环。最后,通过快慢指针的方法判断链表中是否存在环。
热门推荐
三家镇:特色产业助力乡村振兴
缙云仙都:从山水诗源到影视热地,自然人文交相辉映
冰箱重启攻略:告别断电烦恼
西门子冰箱重启秘籍,一看就懂!
从覆盖到价格:三大运营商服务对比全攻略
手机轻松剪视频:导入、编辑到分享全攻略
“九搂十八杈”:一棵古柏的生态保护传奇
西塘乌镇双古镇:一个质朴一个精致的江南水乡
700元游乌镇:白天古迹夜赏灯,三大景区全覆盖
金铃子散:两味药的配伍智慧
冬季行动:社区如何提升居民交通安全意识?
《蓝皮书》发布:如何科学培养孩子的交通安全意识
探访北京最古老的九搂十八杈侧柏:一棵树见证三千年历史
九搂十八杈侧柏:北京生态守护者的传奇
解密“沙漠人参”:肉苁蓉的药用价值与生态保护
文竹黄叶问题详解:七大原因与六大解决方案
文竹养护十大禁忌:新手必知的养护要点
辉瑞立普妥:阿托伐他汀首选品牌
文竹养殖完全指南:从土壤到病虫害防治的全方位养护
光照、浇水、土壤、温度:文竹黄叶问题全攻略
存款利率普降0.25%,银行理财和权益资产吸引力提升
六大行集体下调存款利率,储户跨城存款寻高息
六大银行实施房贷利率新机制,多管齐下化解经营难题
低房价难留人:鹤岗等“躺平城市”遭遇就业困境
新年许愿背后的科学:皮格马利翁效应如何影响行为发展
上海校车安全管理新规3月起实施,专用校车成“标配”
东平县校车事故:11死24伤背后的安全监管之困
牙龈保护的八大误区,你中招了吗?
牙龈炎自救指南:牙医都点赞的居家妙招
牙周炎早期发现,拯救你的笑容