- 链接结构 , 是无索引的 , 动态扩容的数据结构. 缺点是不能随机访问.
- 其 构造普遍为如下所示, 包含下一个节点数据,以及自身数据
class node<E> {
private E e;
private node next;
}
- 从头 , 至尾 . 链接结构也是线性结构的一种.
- 如下代码所示 , 是一个简单的链表实现. 其内暂时使用了index索引, 来进行数据的插入. 以首元素作为其成员属性, 其内并维护一个私有的不对外公开的元素节点. 并将其作为链表结构的实现的基本元素.
package sky.java.linked;
public class LinkedList<E> {
private int size;
private Node head;
public void addFirst(E e) {
head = new Node(e,head);
size++;
}
public void add(int index, E e) {
if (index == 0) {
addFirst(e);
}else {
Node prev = head;
for (int i = 0; i < index-1; i++) {
prev = prev.next;
}
prev.next = new Node(e,prev.next);
size++;
}
}
public void addLast(E e) {
add(size,e);
}
private class Node{
private E e;
private Node next;
public Node(E e, Node next) {
this.e = e;
this.next = next;
}
public Node() {
this(null,null);
}
public Node(E e) {
this(e,null);
}
@Override
public String toString() {
return e.toString();
}
}
}