用 C# 实现的一个链表

来源:互联网 发布:淘宝古装店铺 编辑:程序博客网 时间:2024/05/03 06:02

在 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