链表的节点
一个链表的节点(Node)分为两部分,第一部data分保存节点本身的数据,第二部分存储下一个节点地址。
最后一个节点存储的下一个节点的地址为空。单向链表,只提供从链表头插入节点。
使用内部类构造节点
private class Node{//使用内部类构造节点
private Object val;//节点数据
private Node next;//节点指针,指向下一个节点
public Node(Object val) {//构造方法赋值
this.val = val;
}
}
单向链表
- 链表的操作
- 1、插入节点
- 2、删除节点
- 如果是第一个节点,head指向后面一个节点
- 如果是最后一个节点,前一个节点的地址,改为null
- 如果是中间的节点,前一个节点地址,指向后一个节点。
public class SingleLinkedList {
private int size;//节点个数
private Node head;//头指针
private class Node{//使用内部类构造节点
private Object val;//节点数据
private Node next;//节点指针,指向下一个节点
public Node(Object val) {//构造方法赋值
this.val = val;
}
}
public Object addHead(int val) {//在链表头部添加新节点
Node node = new Node(val);//新建节点