单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表是使用指针进行构造的列表,并且是由一个个结点组装起来的,因此又称为结点列表。其中每个结点都有指针成员变量指向列表中的下一个结点,head指针指向第一个结点称为表头,而终止于最后一个指向nuLL的指针。
date.next next指的是第一个next它包含一个地址,这个地址指向下一个节点的数据
package LinkList;
public class Linklist {
public int date;//用来存储该节点的数据 没有赋值 所以从0开始
public Linklist next;//用来存储下个节点的数据
public void add(int date) {
if(next==null) {//若果下一个的数据没有值就给他赋值;如果next为空就给他赋值
next= new Linklist();
next.date=date;
}else {//如果不为空,就让next去添加
next.add(date);
}
}
//删除
public void delete(int date) {
if(next==null) {
//如果下一个为空,
return;
}
Linklist temp = next;
if(temp.date==date) {
//等于的情况下 删除这个节点
next=temp.next;
temp.next=null;
}
else {
next.delete(date);
}
}
//查找
public Linklist find (int date) {
if(next==null) {
return new Linklist();
}
if(next.date==date) {
return next;//找到所要要查找的内容
}
else {
return next.find(date);//查找下一个
}
}
//更新
public void update(int date, int newDate) {
Linklist find=find(date);//找到想要更新的节点
find.date=newDate;//将想要更新的内容赋给原来的节点
}
@Override
public String toString() {
return "Linklist [date=" + date + ", next=" + next + "]";
}
}