头插发建立链表,直接见代码:
public class Test{
public static void main(String args[]) {
new Student("Tom", 'm', 90, 88);
new Student("Jack", 'm', 66, 89);
new Student("Mary", 'f', 76, 86);
System.out.println("name\tsex\tchinese\tenglish");
Student.print();
}
}
class Student {
protected String name;
protected char sex;
protected int chinese;
protected int english;
protected Student next;
static Student list;
//声明为静态变量,在每次构建实例时将list指向自身,那么在下一个对象创建时的list就为上一个对象的引用
Student (String name, char sex, int chinese, int english) {
this.name=name;
this.sex=sex;
this.chinese=chinese;
this.english=english;
this.next=list; //自己的next指向上一个对象
list=this; //将list指向自己
}
static void print() {
Student friend=list;
if (friend==null)
System.out.println("The list is empty.");
else {
do{
System.out.println(friend.toString());
friend=friend.next;
}while(friend!=null);
}
}
public String toString() {
return new String(name+"\t"+sex+"\t"+chinese+"\t"+english);
}
}
输出为: