利用泛型写一个简单的链表

--------《设计模式:基于C#的工程化实现及扩展》

 

利用泛型实现简单链表

namespace BangWorks.PractcalPattern.Generic
{
    /// <summary>
    /// 泛型链表
    /// </summary>
    public class GenericList<T>
    {
       /// <summary>
        /// 链表中的节点
       /// </summary>
       public class Node
        {
            //一个属性,用来保存数据
            private T _Data;
            //用来保存下一个节点的引用
            public T Data
            {
                get { return _Data; }
                set { _Data = value; }
            }

            //利用泛型参数,初始化Node
           public Node(T Data)
            {
                this._Data = Data;
            }
           //用来保存下一个节点
            private Node _NextNode;

            public Node NextNode
            {
                get { return _NextNode; }
                set { _NextNode = value; }
            }
        }
       private Node head;
        public GenericList()
        {
            head = null;
        }

        /// <summary>
        /// 添加到头部的方法
        /// </summary>
        /// <param name="Data">泛型数据</param>
        /// <returns></returns>
        public bool AddHead(T Data)
        {
            Node n = new Node(Data);
            n.NextNode = head;
            head = n;
            return true;
        }
        /// <summary>
        /// 提供一个迭代器,用来遍历所有节点
        /// </summary>
        /// <returns></returns>
        public IEnumerator<T> GetEnumerator()
        {
            Node current = head;

            while (current != null)
            {
                yield return current.Data;
                current = current.NextNode;
            }
        }

    }
}

 

参考链接:

泛型(C# 编程指南)

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/04/02/2995252.html

时间: 2024-12-02 01:24:17

利用泛型写一个简单的链表的相关文章

利用JQuery写一个简单的异步分页插件_jquery

写了一个Jquery异步分页插件,拿出来分享一下,有不完善之处请指教. 以用户分页为例,先看一下效果,首先是第一页: 下一页或者点击第二页后: 点击尾页后: 效果还可以吧?来看看具体怎么用,首先后台要有一个Page模型: Page.java: public class Page { /** * 当前页号 */ private int currPageNum = 1; /** * 总记录数 */ private int totalRowSize = 0; /** * 每页记录数 */ privat

一个简单的链表模版类的实现

这是翻阅<数据结构.算法与应用--C++语言描述> 以及在网上得到的一些资料后写出来的.起因是在项目中要用到一个链表,但我做一个简单的链表在C++中用的时候跟C差别很多,比如赋值运算(编译器说要做操作符重载,或者考贝构造函数,C++中把结构当成一个类来看了,详见相关介绍的文档或书籍).后来一想干脆做个template顺便学习一下,一举两得. 几个问题: CListData和CNode的函数均为内联函数(inline),因为目前的编译器仍不支持分离编译.按<Thinking in C++&

请大神帮忙写一个简单的聚类算法程序,在线等……用matlab或者java实现

问题描述 请大神帮忙写一个简单的聚类算法程序,在线等--用matlab或者java实现 Step1:将N个数据,按照从小到大的顺序排序 d1.d2,.....dn:其中d1时最小值,dn是最大值 聚类判别阈值计算方法为: Step2:让每个数据都作为一个类,那么有 {d1},{d2},{d3},.....{dn} Step3:计算聚类中心 假设共有P个类,那么1<=k<=P,其中r代表每个类中数据的个数,同时计算相邻两个聚类中心之间的距离,如下 Step4:找出相邻两个聚类中心的最小值 Ste

java中用集合写一个简单的登录功能。麻烦大家看一看

问题描述 java中用集合写一个简单的登录功能.麻烦大家看一看 //这是注册的方法 public static void reg(){ Collection id=new ArrayList();//账户 Collection passWord=new ArrayList();//密码 Scanner sc=new Scanner(System.in); System.out.println("请输入账号:"); id.add(sc.next()); System.out.printl

在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报“未声明的标识符”问题

问题描述 在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报"未声明的标识符"问题 10C 写这个连连看游戏刚开始导入各种资源文件改好ID后运行正常,但通过进一步的编程后不知道为什么开始报各种"未声明的标识符"bug(可能中途改了一些什么设置.....)现项目最近运行的log文件如下: 生成启动时间为 2016/5/26 17:37:08. 1>项目"C:UsersAliezdocumentsvisual studio 2010Pro

利用MFC写一个Tcp程序,基于事件选择机制建立一个回射服务器(直接把收到的客户端消息发回给客户端)

问题描述 利用MFC写一个Tcp程序,基于事件选择机制建立一个回射服务器(直接把收到的客户端消息发回给客户端) 刚开始学习window套接字编程,很多东西还不大熟,想请高手帮忙写出这个程序作为我学习相关理论的模板 解决方案 http://pan.baidu.com/s/1hs2hKEg分享给你这个视频教程 跟着视频一步一步做可以做一个局域网聊天室 同时学习mfc编程与socket编程

学习servlet,写一个简单的Helloword出现404错误

问题描述 学习servlet,写一个简单的Helloword出现404错误 解决方案 不需要 /servlet 解决方案二: 解决方案三: web.xml内容贴下来看看. 可以参考 我写的http://blog.csdn.net/evankaka/article/details/45151569 解决方案四: url里把[/Hello]改成[/HelloServlet] 和你Web.xml里配置的url-pattern一样. 解决方案五: 一个简单的Servlet 解决方案六: 采用servle

iis-用VisualStudio2012写一个简单的网站

问题描述 用VisualStudio2012写一个简单的网站 用VisualStudio2012写一个简单的网站,主要想学一下怎么用VS写网站.IIS安装好了用http://localhost打不开,百度方法用遍了都没解决,就没有一个会的么?!

springmvc-用jsp写一个简单的登录页面

问题描述 用jsp写一个简单的登录页面 求写一个登录页面,有form表单,然后能提交到数据库.框架是spring,数据库是sql,用java,jsp写..我是新手,所以恳求大神帮帮我.非常感谢谢.. 解决方案 form表单里面放输入框组,用于填写数据,像登陆这种涉及隐私的操作,最好使用post方式提交, 在action层,我看到你只提到了spring,那就直接servlet来接收数据进行处理,在doPost中通过request.getParameter(str)获取参数,经过一系列校验之后,就可