首页 > 编程语言 >数据结构与算法__01--单链表无顺序添加时,节点对象形成封闭环问题,无法添加同一个对象导致遍历输出时一直执行输出

数据结构与算法__01--单链表无顺序添加时,节点对象形成封闭环问题,无法添加同一个对象导致遍历输出时一直执行输出

时间:2022-12-03 20:31:34浏览次数:52  
标签:__ 输出 temp 对象 next 链表 添加 节点

1 进行对象是否相同的判断

  1. 创建辅助节点temp
  2. 遍历链表,找到最后
    1. 未到最后,将temp后移
  3. 当退出while循环时,temp就指向了链表的最后
  4. 判断add的节点对象是否存在,若存在则不添加
  5. 将最后这个节点的next 指向新的节点
public void add(HeroNode heroNode) {
    //创建辅助节点
    HeroNode temp = head;
    //遍历链表,找到最后
    while (true) {
        if (temp.next == null) {//
            break;
        }
        //未到最后,将temp后移
        temp = temp.next;
    }
    //当退出while循环时,temp就指向了链表的最后
    //判断add的节点对象是否存在,若存在则不添加
    if (temp == heroNode) {
        System.out.println("插入的节点对象已经存在");
    } else {
    //将最后这个节点的next 指向新的节点
        temp.next = heroNode;
    }
}

2 重写节点类里的equals方法

重写节点类里的equals方法,则相同内容的不同节点对象也无法添加

标签:__,输出,temp,对象,next,链表,添加,节点
From: https://blog.51cto.com/husheng/5908649

相关文章

  • 使用Git对项目进行分支管理,更加方便项目的协作开发!
    在项目的开发过程中,很多时候都会使用Git托管工具进行项目文件或者代码的管理,方便团队成员之间的协作开发。使用Git进行项目管理目前也是越来越受到欢迎,除了Git还有很多的其......
  • 20221203 Docker - 拉勾教育【归档】
    参考资料拉勾教育尚硅谷Docker【归档】Docker官网Docker官网文档命令参考-Docker官网DockerHub前言背景2020年学习了一套尚硅谷的Docker视......
  • 常用命令_网络
    write<用户名>wall[message]#给所有人发消息发广播消息ping选项ip地址#测试网络连通性 -c指定发送次数ifconfig网卡名称IP地址#查看和设置网卡信息mail......
  • 第十四周学习总结
    #学期(如2022-2023-1)学号(如:20221426)《计算机基础与程序设计》第十四周学习总结##作业信息|这个作业属于哪个课程|<班级的链接>(如[2022-2023-1-计算机基础与程序设计](h......
  • Python内容写入文件
       Python允许你将内容写入文件,方式与使用print()函数将字符串‘写’到屏幕上类似,但是,如果打开文件时用读模式,就不能写入,你需要以纯文本模式或添加纯文本模式打开该文......
  • day30-JQuery03
    JQuery034.jQuery选择器034.4表单选择器应用实例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>表单选择器应用实例</title>......
  • 图的存储之邻接矩阵
    邻接矩阵存图:c++1#include<iostream>2usingnamespacestd;34classAM//邻接矩阵存图用法AM图的名称={规模长(int),规模宽(int),是否为无向图,是为true,......
  • Python 跳动的小球
    一、实验内容:跳动的小球游戏介绍二、实验对象:《零基础学Python》第13章Pygame游戏编程实例01用以下代码创建一个游戏弹窗:导入pygame模块并且用init()方法初始化,设置窗......
  • 进击的K8S:Kubernetes基础概念
    Kubernetes简介Kubernetes简称K8S(因为k和s中间有8个字母),是一个开源的容器集群管理平台,基于Go语言编写。使用K8S,将简化分布式系统上的容器应用部署,使得开发人员可以专注于......
  • CodeReview中常见缩写
    ASAP:AsSoonAsPossible.请尽快完成ACK:Acknowledgement.承认,同意。表示接受代码的改动CR:CodeReview.请求代码审查CCN:CodeCommentsNeeded.需要的代码注......