C#实现链表2010-11-26链表:链表是用一组任意的存储单元来存储线性表中的数据元素。为此,在存储数据元素时,除了存储数据元素本身的信息外,还要存储与它相邻的数据元素的存储地址信息。这两部分信息组成该数据元素的存储映像,称为结点(Node)。把存储据元素本身信息的域叫结点的数据域,把存储与它相邻的数据元素的存储地址信息的域叫结点的引用域。节点类:using System;
using System.Collections.Generic;
using System.Text;
namespace DateStructrues.Lists.Node
{
/// <summary>
/// 节点类。
/// </summary>
/// <typeparam name="T"></typeparam>
public class DNode<T>
{
#region Fields
//
//数据域
//
T _data;
//
//地址域(下一个)
//
DNode<T> _next;
//
//地址域(上一个)
//
DNode<T> _prev;
#endregion
#region Constructor
/// <summary>
/// 构造器
/// </summary>
/// <param name="value"></param>
public DNode(T value)
{
_data = value;
}
/// <summary>
/// 构造器
/// </summary>
/// <param name="value"></param>
/// <param name="prev"></param>
/// <param name="next"></param>
public DNode(T value, DNode<T> prev, DNode<T> next)
{
_data = value;
_prev = prev;
_next = next;
}
/// <summary>
/// 构造器
/// </summary>
public DNode() { }
#endregion
#region Properties
/// <summary>
/// 地址域属性(上一个)。
/// </summary>
public DNode<T> Prev
{
get
{
return _prev;
}
set
{
_prev = value;
}
}
/// <summary>
/// 地址域属性(下一个)。
/// </summary>
public DNode<T> Next
{
get
{
return _next;
}
set
{
_next = value;
}
}
/// <summary>
/// 数据域属性。
/// </summary>
public T Data
{
get
{
return _data;
}
set
{
_data = value;
}
}
#endregion
}
}