线性表的链式存储结构存储的元素的存储位置是可以不连续的,也就是说它们可以分布到各个地方,通过某种绳子把它们联系起来。
每个元素除了存储自己的数据外,还要拥有一条绳子链接上下一个元素。
链式存储结构的线性表没有空间的限制,存储的数据个数可以自由扩充。
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是新加的,方便在尾部添加新元素,而不用从头到尾遍历一遍,就是浪费了一定存储空间而已。