黑马程序员技术交流社区

标题: C#数据结构之单链表(1) [打印本页]

作者: 荣右铭    时间: 2013-10-10 19:59
标题: C#数据结构之单链表(1)
class Node
    {
        public string name;
        public Node next;
    }
    class Program
    {

        static void Main(string[] args)
        {
            Node head,pre;
            string str;
            int lSize;
            initLinkList(out head);
            //初始化一个头结点
            Console.WriteLine("请输入链表的节点数量:");

            try{
                lSize = int.Parse(Console.ReadLine());
                creatLinkList(head, lSize);
            }
            catch
            {
                Console.WriteLine("输入了非法值!");
                return;
            }
            

            Console.WriteLine("打印节点的值?(Y/N)");
            str = Console.ReadLine();
            if (str=="y" || str=="Y")
            {
                printNode(head);
            }
           
        }
                static void initLinkList(out Node head)
        {//初始化链表(初始化头节点)
            head = new Node();
        }
        static void addNode(ref Node pNode)
        {//追加节点
            pNode.next = new Node();
        }
        static void creatLinkList(Node head, int linkSize)
        {//创建链表
            Node pre;
            pre = head;
            for (int i = 0; i <linkSize; i++)
            {
                Console.WriteLine("请输入节点的值:");
                pre.name = Console.ReadLine();
                addNode(ref pre);
                pre = pre.next;
            }
        }
        static void printNode(Node head)//打印各个节点
        {
            Console.WriteLine("链表各节点值如下:");
            for (; head!= null; head = head.next)
            {
                Console.WriteLine("\n{0}",head.name);
            }
        }
    }
下一贴给出插入节点和删除节点,我想这里关键有这个知识点需要知道:
1.类声明中可以包括自己的引用,但结构体不能,类是引用类型,结构体是值类型
2.引用实际上就是指针,一个名为“next”的引用实际上就是指向一个类的指针
3.new操作符可以为一个类的引用创建实例
4.out和ref的作用,传一个变量的地址
5.一个单链表的基本要素(头节点,操作函数:初始化,创建,打印,删除...)
作者: 幸运儿见龙    时间: 2013-10-11 11:07
不错不错不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2