插入和删除节点
插入和删除节点
相对于数组,链表的特点:
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;
务实,说实话!