单向链表的添加、遍历、删除
一、在链表尾添加新节点
思路:
a.先初始化头节点head,如StuNode head=new StuNode(0,"");
b.利用一个临时变量temp来遍历链表,temp=head;
c.添加数据时,通过while循环找到链表尾后,添加新节点。如temp.next=newNode;
1.创建一个StuNode节点类,类中包含Student的no、name及指向下一个节点的next。
public class StuNode {
public int no;
public String name;
public StuNode next; //指向下一个节点
//有参构造进行初始化
public StuNode(int no, String name) {
this.no = no;
this.name = name;
}
//输出stu信息 要重写toString()
@Override
public String toString() {
return "StuNode{"+"no= "+no+",name="+name+"}";
}
}
2.创建一个SingalLinedList类,用来管理链表,实现链表数据的添加、显示、删除等功能。
/**
* @ author :further
* @ date :Created By 2020/12/7 11:53
* @ description:管理链表
*/
public class SingalLinedList {
//初始化头节点
StuNode head=new StuNode(0,"");
//向链表中添加数据
public void add(StuNode newNode){
//头节点不能移动,使用辅助变量进行遍历
//找到链表最后
StuNode temp=head;
while(true){
//如果next指向的数据为空,则到达链表尾
if(temp.next==null){
break;
}
//如果不为null,temp则移动一次
temp=temp.next;
}
//当找到链表尾,退出while循环 此时将新节点加入进来
temp.next=newNode;
}