单向链表
定义:单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有引用指向列表中的下一个结点;
结构图:
上图可以看出结构了,即每一个节点的Next变量,都指向了下一个节点,而最后一个节点指向了null
数据结构:
package LinkListTest;
public class LinkList {
private Integer date;
private LinkList next;
public Integer getDate() {
return date;
}
public void setDate(Integer date) {
this.date = date;
}
public LinkList getNext() {
return next;
}
public void setNext(LinkList next) {
this.next = next;
}
@Override
public String toString() {
return "LinkList [date=" + date + ", next=" + next + "]";
}
}
其中第一个是链表存储的值(用Integer类型可以直接判断该该值是否为null,如果是int类型,由由于int类型是基本类型,不能这样判断),而第二个和链表类型一样的变量next是只想下一个节点的引用
单向链表的增删改查(包含有序、无序、重复和不重复)
package linklisttest;
public class NodeTest {
public static Node node = new Node(); //全局变量链表头节点
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] arr = {4,5,9,6,3,1,7};
for