当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2023-02-04
1 进行对象是否相同的判断 创建辅助节点temp 遍历链表,找到最后 未到最后,将temp后移 当退出while循环时,temp就指向了链表的最后 判断add的节点对象是否存在,若存在则不添加 将最后

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

  • 创建辅助节点temp
  • 遍历链表,找到最后
  • 未到最后,将temp后移
  • 当退出while循环时,temp就指向了链表的最后
  • 判断add的节点对象是否存在,若存在则不添加
  • 将最后这个节点的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方法,则相同内容的不同节点对象也无法添加

    网友评论