`

C#单向链表的实现

 
阅读更多
public class UserTbl
{
    private string UserName;

    public string UserName1
    {
        get { return UserName; }
        set { UserName = value; }
    }


    public UserTbl(string aa)
    {
        this.UserName = aa;
    }
    public override string ToString()
    {
        return this.UserName1;
    }
}


public class Nodes<T>
{
    T data;
    Nodes<T> next;

    public Nodes(T data)
    {
        this.data = data;
        this.next = null;
    }

    public T Data
    {
        get { return data; }
        set { data = value; }
    }
   
    public Nodes<T> Next
    {
        get { return next; }
        set { next = value; }
    }

    public void Append(Nodes<T> newNode)
    {
        if (newNode == null)
        {
            this.next = newNode;
        }
        else
        {
            this.next.Append(newNode);
        }
    }

    public override string ToString()
    {
        string output = data.ToString();
        if (next != null)
        {
            output += "," + next.ToString();
        }
        return output;
    }

}


public class ListArray<T>
{
    Nodes<T> headNode = null;

    public void Add(T data)
    {
        if (data == null)
        {
            headNode = new Nodes<T>(data);
        }
        else
        {
            headNode.Append(new Nodes<T>(data));
        }
    }

    public T this[int index]{
        get
        {
            int ctr = 0;
            Nodes<T> Node = headNode;

            while (Node != null && ctr <= index)
            {
                if (ctr == index)
                {
                    return Node.Data;
                }
                else
                {
                    Node = Node.Next;
                }
                ctr++;
            }
            return default(T);

        }
    }

    public override string ToString()
    {
        if (headNode != null)
        {
            return this.headNode.ToString();
        }
        else
        {
            return string.Empty;
        }
    }
}


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        LinkedList<UserTbl> UserTbls = new LinkedList<UserTbl>();
        UserTbls.Add(new UserTbl("John"));
        UserTbls.Add(new UserTbl("Paul"));
        UserTbls.Add(new UserTbl("George"));
        UserTbls.Add(new UserTbl("Ringo"));
        Response.Write(UserTbls[0].UserName1);
    }


}
分享到:
评论
1 楼 e421083458 2011-08-07  
偶来过了!

相关推荐

    C#单向链表C#单向链表C#单向链表

    以下是一个简单的C#单向链表节点和链表类的自定义实现: ```csharp public class Node { public T Value { get; set; } public Node&lt;T&gt; Next { get; set; } public Node(T value) { Value = value; Next = ...

    C#泛型实现单向链表实现

    总的来说,C#中的泛型单向链表实现是一个典型的编程实践,它展示了如何利用泛型提高代码的可重用性,同时利用链表的数据结构特性解决特定问题。通过学习和理解这个主题,开发者可以提升对数据结构和C#特性的掌握,这...

    C#实现单向链表C# .net 链表 单向链表

    ### C#实现单向链表 #### 一、引言 单向链表是一种常见的数据结构,在计算机科学中被广泛应用于解决各种问题。它由一系列节点组成,每个节点包含一个数据元素以及指向下一个节点的引用。本文将详细介绍如何在C#中...

    c#单向链表的实现

    总结来说,C#中的单向链表是通过自定义的Node类和SinglyLinkedList类来实现的。Node类表示链表中的一个节点,包含数据和指向下一个节点的引用。SinglyLinkedList类提供了各种操作链表的方法,如添加、插入、删除和...

    C# 链表实现

    本篇文章将深入探讨C#中的链表实现,包括链表的基本概念、结构以及如何通过`MyLinkedList.cs`和`Node.cs`这两个文件来创建一个自定义链表。 链表是一种线性数据结构,与数组不同,它的元素可以在内存中的任何位置。...

    C语言单向链表的表示与实现实例详解

    C语言中的单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的...

    C#实现双向链表C#,.net 链表 双向链表

    双向链表是一种线性数据结构,其中每个元素(节点)包含一个指向前一个节点和后一个节点的引用,这与只包含一个指向下一个节点引用的单向链表形成对比。这种设计允许双向遍历链表,同时也提供了删除或插入节点的高效...

    C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码

    各种数据结构、算法及实用的C#源代码.C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码.单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部...

    数据结构之链表,C#链表;数据结构之链表,C#链表

    本主题主要关注C#语言中的链表实现。 在C#中,System.Collections.Generic命名空间提供了一个名为LinkedList类,用于实现链表数据结构。LinkedList类包含节点(LinkedListNode)作为链表中的元素,每个节点存储一个...

    实现单向链表Singlelist

    在这个单向链表实现中,函数指针可能被用来表示对链表操作的函数,如插入、删除或查找节点。例如,可以定义一个通用的操作函数,接受一个函数指针作为参数,根据传入的函数来执行相应的操作: ```c void perform...

    使用C#语言实现单向链表

    包含方法: 链表的节点类(Node), 链表的是否为空, 输出链表数据, 链表的Add方法, 链表的Remove方法, 链表的串联方法, 链表的反转

    循环链表实现约瑟夫环

    以上就是使用循环链表实现约瑟夫环的基本思路。在实际编程中,为了提高代码的可读性和复用性,通常会将链表操作和约瑟夫环问题的解决逻辑封装成单独的函数。此外,提供的`.wps`文件可能是代码或文档的源文件,它们...

    C#,单向链表(Simply Linked List)的归并排序(Merge Sort)算法与源代码

    C#,单向链表(Simply Linked List)的归并排序(Merge Sort)算法与源代码 归并排序法(3Merge Sort,以下简称MS)是分治法思想运用的一个典范。 其主要算法操作可以分为以下步骤: Step 1:将n个元素分成两个含n/...

    C#,单向链表(Simply Linked List)的插入排序(Insertion Sort)算法与源代码

    C#,单向链表(Simply Linked List)的插入排序(Insertion Sort)算法与源代码 所谓插入排序法乃是将一个数目插入该占据的位置。 假设我们输入的是 “5,1,4,2,3” 我们从第二个数字开始,这个数字是1,我们的...

    链表的选择排序

    对初学C++的学友来说链表的排序无疑是首先要掌握必备的技能

    c#链表的合并和反转取中间值操作

    在C#中,`LinkedList&lt;T&gt;`类提供了对单向链表的支持。每个节点是`LinkedListNode&lt;T&gt;`类型的实例,包含一个值和对下一个节点的引用。 **链表的合并**: 合并两个链表通常涉及到将一个链表的末尾节点指向另一个链表的...

    链表的操作 C#

    本文档主要介绍了如何在C#中实现单向链表的基本操作,包括链表的定义、添加元素、插入元素、删除指定索引处的元素以及如何遍历整个链表。通过学习本文档,读者可以更加深入地理解C#中的链表数据结构及其基本操作。 ...

    C#编程的单链表的基本操作

    单链表是数据结构中的一种基础类型,它在C#编程中被广泛应用于各种场景,如数据存储、算法实现等。单链表由一系列节点组成,每个节点包含数据元素和指向下一个节点的引用。理解并掌握单链表的基本操作对于提升C#编程...

    简单的单向链表,二叉树学习,附带工程源码,可直接运行

    这个工程中的单向链表练习,可以帮助初学者熟悉这些基本操作的实现。 二叉树是另一种非线性数据结构,每个节点最多有两个子节点,通常分为左子节点和右子节点。二叉树有多种类型,如满二叉树、完全二叉树和平衡...

Global site tag (gtag.js) - Google Analytics