有图有真相的QQ资源、网赚教程分享,高质量的网络教程和软件下载
保存到桌面加入收藏设为首页
冷牛教程网
当前位置:首页 > 技术文章 > JAVA

JAVA链表相关操作

2021-08-08 17:44:35   admin      776  
class Node{
    Object data;
    Node next=null;
    public static void main(String[] args) {
        // 创建链表头
        Node head=new Node("");
        head.init();
        head.print();
        System.out.println("删除后");
        head.del("23");
        head.print();
        System.out.println("修改后");
        head.mend("3","6");
        head.print();
    }
    public Node(Object data) {
        this.data = data;
    }
    public void add(Object data){
        Node headTmp=this;
        while(headTmp.next!=null){
            headTmp=headTmp.next;
        }
        Node newNode=new Node(data);
        headTmp.next=newNode;
    }
    public void print(){
        Node headTmp=this;
        if(headTmp.next==null){
            // 只有头节点
            System.out.println("空链表");
            return;
        }
        while(true){
            headTmp=headTmp.next;
            System.out.println(headTmp.data);
            if(headTmp.next==null){
                break;
            }
        }
    }
    public void init(){
        this.add("1");
        this.add("2");
        this.add("3");
    }
    public void del(Object data){
        Node headTmp=this;
        if(headTmp.next==null){
            System.out.println("无数据");
            return;
        }
        while(true){
            if(headTmp.next.data.equals(data)){
                // 此节点删掉
                headTmp.next=headTmp.next.next;
                return;
            }
            if(headTmp.next.next==null){
                System.out.println("没找到");
                return;
            }
            headTmp=headTmp.next;
        }
    }
    public void mend(Object oldData,Object newData){
        Node headTmp=this;
        while(headTmp.next!=null){
            if(headTmp.next.data.equals(oldData)){
                headTmp.next.data=newData;
                return;
            }
            headTmp=headTmp.next;
        }
        System.out.println("修改失败,不存在该数据");
    }
}

上一篇:没有了
下一篇:CountDownLatch实现多线程同步用法
相关评论
冷牛网络 2015-2021 版权所有  豫ICP备2021000561号-1