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

简介:

image

--------《设计模式:基于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

目录
相关文章
|
7月前
|
Java 编译器 API
【数据结构】 简单认识包装类与泛型
【数据结构】 简单认识包装类与泛型
|
1月前
|
存储 安全 Java
34.C#:listT泛型集合
34.C#:listT泛型集合
17 1
|
4月前
|
编译器
【数据结构】初识泛型
【数据结构】初识泛型
|
6月前
|
机器学习/深度学习 Java
泛型使用 && 包装类 && 顺序表与ArrayList &&顺序表和链表
泛型使用 && 包装类 && 顺序表与ArrayList &&顺序表和链表
26 0
|
7月前
|
Java 编译器 容器
【数据结构】包装类&简单认识泛型
【数据结构】包装类&简单认识泛型
41 0
|
8月前
|
存储 算法 Java
集合和泛型的详细讲解(一)
集合和泛型的详细讲解
40 0
|
8月前
|
存储 安全 Java
集合和泛型的详细讲解(二)
集合和泛型的详细讲解
70 0
|
存储 编译器
|
存储 Java 索引
8、集合和泛型
堆栈:先进后出,像个容器,入口和出口都是栈顶、压栈和弹栈都是操作栈顶元素 队列:先进先出、队列的入口和出口各占一侧 数组:通过索引查找元素速度快;增删元素速度慢 链表:多节点之间通过地址连接,增删只需要修改下个元素的地址速度比较快,没有索引位置查找速度比较慢
47 0
泛型栈和队列
泛型栈和队列
88 0

热门文章

最新文章