无命名空间版
//双向链表结构节点
public class DoubleLinkedListNode<T> where T : class, new()
{
//前一个节点
public DoubleLinkedListNode<T> prev = null;
//后一个节点
public DoubleLinkedListNode<T> next = null;
//当前节点
public T t = null;
}
//双向链表结构
public class DoubleLinedList<T> where T : class, new()
{
//表头
public DoubleLinkedListNode<T> Head = null;
//表尾
public DoubleLinkedListNode<T> Tail = null;
//双向链表结构类对象池
protected ClassObjectPool<DoubleLinkedListNode<T>> m_DoubleLinkNodePool = ObjectManager.Instance.GetOrCreatClassPool<DoubleLinkedListNode<T>>(500);
//个数
protected int m_Count = 0;
public int Count
{
get { return m_Count; }
}
/// <summary>
/// 添加一个节点到头部
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public DoubleLinkedListNode<T> AddToHeader(T t)
{
DoubleLinkedListNode<T> pList = m_DoubleLinkNodePool.Spawn(true);
pList.next = null;
pList.prev = null;
pList.t = t;
return AddToHeader(pList);
}
/// <summary>
/// 添加一个节点到头部
/// </summary>
/// <param name="pNode"></param>
/// <returns></returns>
public Do