- 浏览: 246487 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
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);
}
}
{
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);
}
}
发表评论
-
经典.net面试题目
2011-08-09 14:14 7291. 简述 private、 protected、 publi ... -
.net面试问答(大汇总)
2011-08-09 13:57 1052用.net做B/S结构的系统, ... -
C#实现双向链表
2011-07-20 16:46 952/// <summary> /// 双向链 ... -
js在线编辑器其中一个上传图片功能
2011-07-13 22:04 1299img.html <script language=&q ... -
Asp.net 中如何调用母版中的变量和变量
2011-07-07 11:27 2622((test)this.master).str: test:当 ... -
C# 循环DataSet表里的数据
2011-07-05 22:22 1927cs:DataSet ds = DbSqlClient.Que ... -
C#jQuery解决传值时获取的代码问题
2011-07-05 11:34 1083传值:escape($("input[name=co ... -
C# 生成 添加 修改 删除 XML节点操作
2011-07-04 20:56 2484XmlDocument xmldoc; Xml ... -
C# 正则表达式语法定义
2011-07-04 14:02 864Regex reg = new Regex("-&q ... -
C#修饰符
2011-06-17 13:29 7951, 访问修饰符 指定声 ... -
字符串处理Utils
2011-06-17 10:16 903using System; using System.Coll ... -
asp.net性能优化的几个方面
2011-06-17 09:48 887c#(或vb.net)程序改进 ... -
StringJoiner 拯救那些性能低下的字符串拼装代码
2011-06-17 09:44 1014作者:Bruce(编程的艺 ... -
HttpModule
2011-06-17 09:04 878HttpModule & HttpHandle TE& ... -
C# CS 语法
2011-06-16 14:13 856C#Md5加密16位的: System.W ... -
ASP.NET页面与IIS底层交互和工作原理详解 (二)
2011-06-15 16:12 857第三回: 引言 Http 请求 ... -
ASP.NET页面与IIS底层交互和工作原理详解(一)
2011-06-15 16:10 1056第一回: 引言 我查阅 ... -
Web.config的配置级原理
2011-06-15 15:50 797标签解释: configuration配置 Appsettin ...
相关推荐
以下是一个简单的C#单向链表节点和链表类的自定义实现: ```csharp public class Node { public T Value { get; set; } public Node<T> Next { get; set; } public Node(T value) { Value = value; Next = ...
总的来说,C#中的泛型单向链表实现是一个典型的编程实践,它展示了如何利用泛型提高代码的可重用性,同时利用链表的数据结构特性解决特定问题。通过学习和理解这个主题,开发者可以提升对数据结构和C#特性的掌握,这...
### C#实现单向链表 #### 一、引言 单向链表是一种常见的数据结构,在计算机科学中被广泛应用于解决各种问题。它由一系列节点组成,每个节点包含一个数据元素以及指向下一个节点的引用。本文将详细介绍如何在C#中...
总结来说,C#中的单向链表是通过自定义的Node类和SinglyLinkedList类来实现的。Node类表示链表中的一个节点,包含数据和指向下一个节点的引用。SinglyLinkedList类提供了各种操作链表的方法,如添加、插入、删除和...
本篇文章将深入探讨C#中的链表实现,包括链表的基本概念、结构以及如何通过`MyLinkedList.cs`和`Node.cs`这两个文件来创建一个自定义链表。 链表是一种线性数据结构,与数组不同,它的元素可以在内存中的任何位置。...
C语言中的单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的...
双向链表是一种线性数据结构,其中每个元素(节点)包含一个指向前一个节点和后一个节点的引用,这与只包含一个指向下一个节点引用的单向链表形成对比。这种设计允许双向遍历链表,同时也提供了删除或插入节点的高效...
各种数据结构、算法及实用的C#源代码.C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码.单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部...
本主题主要关注C#语言中的链表实现。 在C#中,System.Collections.Generic命名空间提供了一个名为LinkedList类,用于实现链表数据结构。LinkedList类包含节点(LinkedListNode)作为链表中的元素,每个节点存储一个...
在这个单向链表实现中,函数指针可能被用来表示对链表操作的函数,如插入、删除或查找节点。例如,可以定义一个通用的操作函数,接受一个函数指针作为参数,根据传入的函数来执行相应的操作: ```c void perform...
包含方法: 链表的节点类(Node), 链表的是否为空, 输出链表数据, 链表的Add方法, 链表的Remove方法, 链表的串联方法, 链表的反转
以上就是使用循环链表实现约瑟夫环的基本思路。在实际编程中,为了提高代码的可读性和复用性,通常会将链表操作和约瑟夫环问题的解决逻辑封装成单独的函数。此外,提供的`.wps`文件可能是代码或文档的源文件,它们...
C#,单向链表(Simply Linked List)的归并排序(Merge Sort)算法与源代码 归并排序法(3Merge Sort,以下简称MS)是分治法思想运用的一个典范。 其主要算法操作可以分为以下步骤: Step 1:将n个元素分成两个含n/...
C#,单向链表(Simply Linked List)的插入排序(Insertion Sort)算法与源代码 所谓插入排序法乃是将一个数目插入该占据的位置。 假设我们输入的是 “5,1,4,2,3” 我们从第二个数字开始,这个数字是1,我们的...
对初学C++的学友来说链表的排序无疑是首先要掌握必备的技能
在C#中,`LinkedList<T>`类提供了对单向链表的支持。每个节点是`LinkedListNode<T>`类型的实例,包含一个值和对下一个节点的引用。 **链表的合并**: 合并两个链表通常涉及到将一个链表的末尾节点指向另一个链表的...
本文档主要介绍了如何在C#中实现单向链表的基本操作,包括链表的定义、添加元素、插入元素、删除指定索引处的元素以及如何遍历整个链表。通过学习本文档,读者可以更加深入地理解C#中的链表数据结构及其基本操作。 ...
单链表是数据结构中的一种基础类型,它在C#编程中被广泛应用于各种场景,如数据存储、算法实现等。单链表由一系列节点组成,每个节点包含数据元素和指向下一个节点的引用。理解并掌握单链表的基本操作对于提升C#编程...
这个工程中的单向链表练习,可以帮助初学者熟悉这些基本操作的实现。 二叉树是另一种非线性数据结构,每个节点最多有两个子节点,通常分为左子节点和右子节点。二叉树有多种类型,如满二叉树、完全二叉树和平衡...