文章收藏-FAQ 位置:电脑学习网

用 C# 实现的一个链表

在 VS2005 的 Console 界面调试通过。

using System;
using System.Collections.Generic;
using System.Text;

namespace Link
{
    public struct structData
    {
        public string sStr;
        public int iInt;
    }

    public class Link
    {
        private structData sd;
        private Link next;

        public Link()
        {
        }

        public Link(structData sd0)
        {
            next = null;
            sd = sd0;
        }

        public structData Sd
        {
            get
            {
                return sd;
            }
            set
            {
                sd = value;
            }
        }

        public Link Next
        {
            get
            {
                return next;
            }
            set
            { 
                next = value;
            }
        }
    }

    //
    public class myLink
    {
        private Link link;

        public myLink()
        {
            link = null;
        }

        //Link LINK = new Link();
        public Link LINK 
        {
            get { return link; }
            set { link = value; }
        }

        public void Add(structData sd) 
        {
            Link l = new Link();
            l.Sd = sd;
            l.Next = link;  //这2句是链表的核心代码
            link = l;
        }
    
    }

    class Program
    {
        static void Main(string[] args)
        {
            myLink lnk = new myLink();
            structData sd1;
            sd1.sStr = “s1“;
            sd1.iInt = 1;
            lnk.Add(sd1);

            structData sd2;
            sd2.sStr = “s2“;
            sd2.iInt = 2;
            lnk.Add(sd2);

            structData sd3;
            sd3.sStr = “s3“;
            sd3.iInt = 3;
            lnk.Add(sd3);

            structData sd4;
            sd4.sStr = “s4“;
            sd4.iInt = 4;
            lnk.Add(sd4);

            while (lnk.LINK != null)  //后进先出
            {
                Console.WriteLine(lnk.LINK.Sd.iInt.ToString());
                Console.WriteLine(lnk.LINK.Sd.sStr);
                lnk.LINK = lnk.LINK.Next;
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}


电脑学习网  http://www.why100000.com  

张庆 2007.5.28

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822