链表
链表的概念
链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。
链表的结构有8种。
其中分为单向/双向、带头/不带头、循环/非循环八种。
无头单向链表的增删改查
创建了一个类,用来对链表的增删改查。
//无头单向链表插入
class Node{
//创建节点
public int value;//节点中的数据
public Node next;//节点下一个数据的地址
public Node(int value){
this.value = value;
}
}
public class SingleLinkedList {
public Node head = null;
//头插
public void addFirst(int data){
Node node = new Node(data);
node.next = head;
this.head = node;
}
//尾插
public void addLast(int data){
Node cur = this.head;
Node node = new Node(data);
if(this.head == null){
this.head = node;
}else {
while (cur.next != null) {
cur = cur.next;
}
cur.next = node;
}
}
public Node search