单链表插入算法
链表的普通插入算法
普通的插入算法中插入的时候要注意结点间的连接先后。
s.next = p.next;
p.next = s;
一定要先执行s.next = p.next 然后再执行p.next = s , 如果先执行p.next = s 的话,那么就会找不到p的后继结点,也就是会造成结点的丢失
public void insert(int i,T x)throws Exception{ // 插入一个数
Node<T> p = head;
int j=-1;
while(p.next!=null&&j<i-1) {
p=p.next;
++j;
}
if(j>i-1||p==null)
throw new Exception("插入位置不合法");
Node<T> s=new Node<T>(x);
s.next=p.next;
p.next=s;
}
对于单链表的插入有两种方式,一种是头插法、一种是