Java数据结构:单链表

  //单链表:学生信息管理
public class Dome_3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		    Student s1 = new Student(1,"男","小明");
	        Student s2 = new Student(2,"女","小红");
	        Student s3 = new Student(3,"男","小刚");
	        Student s4 = new Student(4,"男","小犊子");
	        List1 l = new List1();
	        l.add(s1);
	        l.add(s2);
	        l.add(s3);
	        l.add(s4);
	        l.show();
	}

}
class List1{
	//初始化

   Student student = new Student(0,"","");
   //插入数据,采取尾插法
   //思路:1,找到最后一个节点;2,让最后一个节点的next指向插入的数据的地址
   public void add(Student s)
   {
	   Student temp = student;//因为头指针不能动,动了后面就没法操作这个链表了
	   while(true)
	   {
		 
		   if(temp.next == null)
		   {
			   break;
		   }
		   temp = temp.next;//指针后移
		   
	   }
	   temp.next = s;
   }
   //遍历整个链表
   public void show()
   {
	   if(student == null)
	   {
		   System.out.println("单链表为空");
		   return;
	   }
	   Student temp = student.next;
	   while(true)
	   {
		   if(temp == null)
		   {
			   break;
		   }
		  temp.show();//打印单个节点
		   temp = temp.next;
	   }
	   
   }
   
}
//链表中的结点
class Student{
	//节点包括:数据域和指针域
	//数据域
	public int id;
	public String sex;//性别
	public String name;
	//指针域
	public Student next;//指向下一个位置的指针
	public Student(int id,String sex,String name)
	{
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
	//显示一个节点中的信息
	public void show()
	{
		System.out.printf("学号 = %d\t性别 = %s\t姓名= %s\n",id,sex,name);
	}
}

Java数据结构:单链表_第1张图片

你可能感兴趣的:(java数据结构)