某大专F 2022-04-07 15:10 采纳率: 72.7%
浏览 28
已结题

单链表,为什么写的运行不出来呢,

为什么添加不进去呀,而且运行不出来东西,也没有报错找不出问题来,帮看一下,感谢感谢刚开始学

public class Tset4 {
public static void main(String[] args) {
HeroNode head1 = new HeroNode(1,"ww","xw");
HeroNode head2 = new HeroNode(2,"cc","xc");
HeroNode head3 = new HeroNode(3,"a","xa");
HeroNode head4 = new HeroNode(4,"vv","xv");

    SingkeLindeList s = new SingkeLindeList();

    s.add(head1);
    s.add(head2);
    s.add(head4);
    s.add(head3);
    s.list();

}

}

class SingkeLindeList {
HeroNode head = new HeroNode(0, "", "");

public void add(HeroNode heroNode) {
    HeroNode temp = head;
    while (true) {
        if (temp.next == null) {
            break;
        }
        temp = temp.next;
    }
    temp.next = heroNode;


}

public void add2(HeroNode heroNode) {
    HeroNode temp = head;
    boolean flag = false;
    while (true) {
        if (temp.next == null) {
            break;
        }
        if (temp.next.no > heroNode.no) {
            break;
        } else if (temp.next.no == heroNode.no) {
            flag = true;
            break;
        }
    }
    if (flag) {
        System.out.printf("编号存在%d", heroNode.no);
    } else {
        heroNode.next = temp.next;
        temp.next = heroNode;
    }
}

public void update(HeroNode heroNode) {
    if (heroNode.next == null) {
        System.out.println("链表为空");
    }
    HeroNode temp = heroNode;
    boolean flag = false;
    while (true) {
        if (temp == null) {
            break;
        } else if (temp.no == heroNode.no) {
            flag = true;
            break;
        }
        temp = temp.next;
    }

    if (flag) {
        temp.name = heroNode.name;
        temp.nikname = heroNode.nikname;
    } else {
        System.out.println("编号不存在" + heroNode.no);
    }
}
public void delet(int no){
    HeroNode temp = head;
    boolean flag = false;
    while(true) {
        if(temp.next == null) {
            System.out.println("链表空");
        }else if(temp.next.no == no) {
            flag = true;
            break;
        }
        temp = temp.next;
    }
    if(flag) {
        temp.next = temp.next.next;
    }else {
        System.out.println("不存在,没找到");
    }
}

public void list() {
    if(head.next == null) {
        System.out.println("链表空");
        return;
    }
    HeroNode temp = head.next;
    while(true) {
        if(temp == null) {
            break;
        }
    }
    System.out.println(temp);
    temp = temp.next;
}

}

class HeroNode {
public int no;
public String name;
public String nikname;
public HeroNode next;//指向下一个节点

public HeroNode(int no, String name, String nikname) {
    this.no = no;
    this.name = name;
    this.nikname = nikname;
}

@Override
public String toString() {
    return "HeroNode [no=" + no + ", name=" + name + ", nikname=" + nikname + "]";
}

}

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-04-07 16:15
    关注

    数据结构对单链表进行数据排序

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题