带头节点的单链表插入元素不成功

jask 发布于 2015/03/29 01:00
阅读 146
收藏 0
public class Student {
        private Object id;
private Object name;
private Object _class;
private Object sex;
private Object phone_num;
private Object course;     
        public int in=0; 
         LinkList l1=new LinkList();
         LinkList l2=new LinkList();
         LinkList l3=new LinkList();
         LinkList l4=new LinkList();
         LinkList l5=new LinkList();
         LinkList l6=new LinkList();
       
        public Student() {   
            
        }
            
        
        public void addStudent(Object id,Object name,Object _class,Object sex,Object phone_num,Object course){                         
            try {                            
                    l1.insert(in,id);
                    l2.insert(in,name);
                    l3.insert(in,_class);
                    l4.insert(in,sex);
                    l5.insert(in,phone_num);
                    l6.insert(in,course);
                    in+=1;
            } catch (Exception ex) {
                Logger.getLogger(Student.class.getName()).log(Level.SEVERE, null, ex);
            }
                                  
            
        }

}


//这个是单链表类中的一个方法

public void insert(int i, Object x) throws Exception {
Node p = head;// 初始化p为头结点,j为计数器
int j = -1;
while (p != null && j < i - 1) {// 寻找i个结点的前驱
p = p.getNext();
++j;// 计数器的值增1
}
if (j > i - 1 || p == null) // i不合法
throw new Exception("插入位置不合理");// 输出异常


Node s = new Node(x); // 生成新结点
s.setNext(p.getNext());// 插入单链表中
p.setNext(s);
}

//每次读只能插入一个?要怎么改?

加载中
0
stephen_liu
stephen_liu
链表是so easy了,你的问题是每次只能插入一个,那当然是插入第二个的时候,第一个节点的指向下一个节点的指针没被赋值咯。仔细检查代码把,没人会帮你改,除了你自己。
返回顶部
顶部