Bootstrap

C# 实现一个简单的单链表

链表这种数据的存储结构思想真的是很好,这里实现了一个简单的单链表,单链表思想还是挺容易理解的。
刚学C# 没几天,有什么问题请不吝赐教。

代码如下:

using System;

namespace Test
{
    class Node  // 节点类
    {
        public int data;    // 节点数据
        public Node next;   // 下一个节点

        // 节点初始化,传入数据和下一个节点
        public Node(int d,Node n)   
        {
            data = d;
            next = n;
        }
    }

    class SLinkList  // 单链表类
    {
        public Node head;   // 链表首节点
        public Node hail;   // 链表尾节点

        // 单链表初始化,传入首节点数据
        public SLinkList(int data)
        {
            head = new Node(data, null);    // 创建单链表首节点,next节点暂无
            hail = head;                    // 设置尾节点
        }

        // 增加节点
        public void Append(int data)
        {
            Node d = new Node(data,null);   // 创建新节点
            hail.next = d;                  // 新的节点称为尾巴节点
            hail = d;                       // 之前的尾巴节点的nex节点是现在的新节点
        }

        // 输出链表
        public void Print()
        {
            Node current = head;    // 从首节点依次输出
            while (current != null)
            {
                Console.WriteLine("The node data : {0}",current.data);
                current = current.next;
            }
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个单链表对象
            SLinkList list = new SLinkList(0); 
            // 追加节点
            for (int i = 1; i < 10; i++)    
            {
                list.Append(i);
            }
            // 输出单链表
            list.Print();
        }
    }
}

打印如下:

The node data : 0
The node data : 1
The node data : 2
The node data : 3
The node data : 4
The node data : 5
The node data : 6
The node data : 7
The node data : 8
The node data : 9

Press any key to continue...
;