日期:2014-05-17  浏览次数:20723 次

C#单向链表的实现
public class UserTbl
{
    private string UserName;

    public string UserName1
    {
        get { return UserName; }
        set { UserName = value; }
    }


    public UserTbl(string aa)
    {
        this.UserName = aa;
    }
    public override string ToString()
    {
        return this.UserName1;
    }
}


public class Nodes<T>
{
    T data;
    Nodes<T> next;

    public Nodes(T data)
    {
        this.data = data;
        this.next = null;
    }

    public T Data
    {
        get { return data; }
        set { data = value; }
    }
   
    public Nodes<T> Next
    {
        get { return next; }
        set { next = value; }
    }

    public void Append(Nodes<T> newNode)
    {
        if (newNode == null)
        {
            this.next = newNode;
        }
        else
        {
            this.next.Append(newNode);
        }
    }

    public override string ToString()
    {
        string output = data.ToString();
        if (next != null)
        {
            output += "," + next.ToString();
        }
        return output;
    }

}


public class ListArray<T>
{
    Nodes<T> headNode = null;

    public void Add(T data)
    {
        if (data == null)
        {
            headNode = new Nodes<T>(data);
        }
        else
        {
            headNode.Append(new Nodes<T>(data));
        }
    }

    public T this[int index]{
        get
        {
            int ctr = 0;
            Nodes<T> Node = headNode;

            while (Node != null && ctr <= inde