小弟在写一个链表。
class Book_list
{
  public Book_list(){first=null;last=null;}
  private Book_node first;
  private Book_node last;
public void Delete(Book elem){
    if(first==null)
      {
      System.out.println("该书库为空:");
      return ;
      }  
    if(!find(elem))
      {
      System.out.println("没有您要删除的书");
      return ;
      }  
    if(first.data.Index==elem.Index)
      {
      first=first.next;
      }  
    Book_node q=first.next;
    Book_node p=first;
    for(;q.data.Index!=elem.Index;q=q.next)//在这里提示空引用异常!想不通为什么?请指教?
       p=p.next; 
    p.next=q.next;
    q=p.next;
  }