• 插入和删除节点


    插入和删除节点

    相对于数组,链表的特点:

    1.可以有无限多个节点,长度不限制

    2.无论插入还是删除,并不需要挪动位置

    建立一个节点对象,里面包含id,name,和下一个节点

    public class Node {
        public int id;
        public String name;
        public Node next;
        
        public Node(int id,String name){
            this.id=id;
            this.name=name;
        }
    }

    初始化:

            Node n1=new Node(101, "熊大");
            Node n2=new Node(102, "熊二");
            Node n3=new Node(103, "熊三");
            Node n4=new Node(104, "熊四");
            
            n1.next=n2;
            n2.next=n3;
            n3.next=n4;
            n4.next=null;

    新建一个节点n5到链表末尾

            Node n5=new Node(105, "熊五");
            Node tail=n1;
            while(tail.next!=null){
                tail=tail.next;
            }
            tail.next=n5;

    新建一个节点n6到头节点之后

            Node head=n1;
            Node n6=new Node(106, "熊六");
            n6.next=head.next;
            head.next=n6;

    新建一个节点n7到指定位置,id为103之后

            Node n7=new Node(107, "熊七");
            Node node1=n1;
            while(node1.id!=103){
                node1=node1.next;
            }
            n7.next=node1.next;
            node1.next=n7;

    删除指定节点,id为104的节点

            Node node2=n1;
            while(node2.next.id!=104){
                node2=node2.next;
            }
            node2.next=node2.next.next;
  • 相关阅读:
    java常见异常总结
    敏捷开发的七种主流方法
    转:一位10年Java工作经验的架构师聊Java和工作经验
    Map遍历
    Mybatis中的模糊查询
    Mybatis中动态SQL多条件查询
    J2EE,LAMP和ASP.NET三者比较
    关于加密
    Md5Hash的测试
    CentOS7 修改默认时区为 北京时间
  • 原文地址:https://www.cnblogs.com/xtuxiongda/p/8732644.html
Copyright © 2020-2023  润新知