线性表的链式存储结构存储的元素的存储位置是可以不连续的,也就是说它们可以分布到各个地方,通过某种绳子把它们联系起来。
每个元素除了存储自己的数据外,还要拥有一条绳子链接上下一个元素。
链式存储结构的线性表没有空间的限制,存储的数据个数可以自由扩充。
class MyLink<T> { class Node { public T data; public Node next; } private Node _head; private Node _last; private int _curentLinkLength; //构造函数,创建头结点,空链表 public MyLink() { _head = new Node(); _head.next = null; _last = _head; this._curentLinkLength = 0; } }
一个Node表示一个结点也就是一个数据,一个链表有一个头结点,用来方便插入元素到第一个等,头结点的下一个元素next就是第一个结点了,如果为null,那么就是空链表了。
last是新加的,方便在尾部添加新元素,而不用从头到尾遍历一遍,就是浪费了一定存储空间而已。