看这个例子:How to write link list in C#
http://www.pardesiservices.com/softomatix/LinkList.asp

解决方案 »

  1.   

    这个是一个图(十字链表)的创建函数,你可以参考一下。/// <summary>
    /// 根据接点列表和流向列表创建图
    /// </summary>
    /// <param name="tacheList">节点列表,如果原来存在列表,那么覆盖原来的列表</param>
    /// <param name="directionList">流向列表</param>
    public void CreateFlow(ArrayList tacheList,ArrayList directionList)
    {
    this.VertextList = tacheList;
    CreateFlow(directionList);
    } /// <summary>
    /// 根据提供的流向对象列表创建图,要求节点列表已经存在
    /// </summary>
    /// <param name="directionList">流向列表</param>
    public void CreateFlow(ArrayList directionList)
    {
    this.EdgeList = directionList;
    for(int i=0;i<directionList.Count;i++)
    {
    Direction tagdirection = (Direction)directionList[i];
    tagdirection.TailVer =(Vertex)FindTache(tagdirection.PreTacheId);
    tagdirection.HeadVex =(Vertex)FindTache(tagdirection.NextTacheId);
    tagdirection.TLink = tagdirection.TailVer.FirstOut;
    tagdirection.HLink = tagdirection.HeadVex.FirstIn;
    tagdirection.TailVer.FirstOut = tagdirection.HeadVex.FirstIn = tagdirection;
    }
    }