0
点赞
收藏
分享

微信扫一扫

Java数据结构《单项链表》增删改及其测试

package linkedlist;

/**
 * @description:
 * @author: 
 * @time: 2022/1/8 11:03
 */
public class SingleLinkedListDemo {
    public static void main(String[] args) {
        SingleLinkedList singleLinkedList = new SingleLinkedList();
        singleLinkedList.list();
        singleLinkedList.add(new HeroNode(1,"宋江","及时雨"));
        singleLinkedList.add(new HeroNode(2,"卢俊义","玉麒麟"));
        singleLinkedList.add(new HeroNode(3,"吴用","智多星"));
        singleLinkedList.add(new HeroNode(7,"高俅","足球先生"));
        singleLinkedList.list();
        singleLinkedList.update(new HeroNode(7,"武松","行者"));
        singleLinkedList.list();
        singleLinkedList.update(new HeroNode(8,"武松","行者"));
        singleLinkedList.list();
        singleLinkedList.addNo(new HeroNode(6,"鲁智深","花和尚"));
        singleLinkedList.list();

    }
}
class SingleLinkedList{
    HeroNode headNode = new HeroNode(0,null,null);
    public void add(HeroNode newHeroNode){
        HeroNode temp = headNode;
        while (true){
            if (temp.next==null){
                break;
            }
            temp = temp.next;
        }
        temp.next = newHeroNode;
    }
    public void addNo(HeroNode newHeroNode){
        HeroNode temp = headNode;
        boolean flag = false;
        while (true){
            if (temp.next==null){
                break;
            }
            if (newHeroNode.no < temp.next.no){
                flag = true;
                break;
            }
            temp = temp.next;
        }
        if (flag){
            newHeroNode.next = temp.next;
            temp.next = newHeroNode;
        }else {
            temp.next = newHeroNode;
        }
    }
    public void list(){
        HeroNode temp = headNode;
        while (true){
            if (temp.next==null){
                break;
            }
            temp = temp.next;
            System.out.println(temp);
        }
        if (temp == headNode){
            System.out.println("该列表为空");
        }
    }
    public void update(HeroNode newHeroNode) {
        HeroNode temp = headNode;
        boolean flag = false;
        while (true){
            if (temp.next == null) {
                break;
            }
            if (temp.next.no == newHeroNode.no){
                flag = true;
                break;
            }
            temp = temp.next;
        }
        if (flag){
            temp.next.name = newHeroNode.name;
            temp.next.nickname = newHeroNode.nickname;
        }else {
            System.out.printf("未找到no为%d的成员",newHeroNode.no);
            System.out.println();
        }
    }
    public void Delete(int no){
        HeroNode temp = headNode;
        boolean flag = false;
        while (true){
            if (temp.next == null) {
                break;
            }
            if (temp.next.no == no){
                flag = true;
                break;
            }
            temp = temp.next;
        }
        if (flag){
            temp.next = temp.next.next;
        }else {
            System.out.printf("未找到no为%d的成员",no);
        }
    }
}
class HeroNode{
    int no;
    String name;
    String nickname;
    HeroNode next;

    public HeroNode(int no, String name, String nickname) {
        this.no = no;
        this.name = name;
        this.nickname = nickname;
        this.next = null;
    }

    @Override
    public String toString() {
        return "HeroNode{" +
                "no=" + no +
                ", name='" + name + '\'' +
                ", nickname='" + nickname + '\'' +
                '}';
    }
}
举报

相关推荐

0 条评论