C#链表;双向链表
来源:互联网 发布:词组贝多芬知乎 编辑:程序博客网 时间:2024/05/17 20:33
//节点类
public class Node{
//数据
public object Element;
//正向链接
public Node Flink;
//反向链接
public Node Blink;
//构造无参数节点
public Node()
{
Element = null;
Flink = null;
Blink = null;
}
//构造含数据的 节点
public Node(object theElement)
{
Element = theElement;
Flink = null;
Blink = null;
}
}
//双向链表类
public class LinkedList
{
//首节点
protected Node header;
public LinkedList()
{
header = new Node("header");
}
//查找节点参数是数据
public Node Find(object obj)
{
Node current = new Node();
current = header;
while (current.Element != obj)
current = current.Flink;
return current;
}
//插入节点
public void Insert(object newitem, object after)
{
Node current = new Node();
Node newNode = new Node(newitem);
current = Find(after);
//要特别注意顺序和判断,图解释更好理解
if (current.Flink != null)
current.Flink.Blink = newNode;
newNode.Flink = current.Flink;
newNode.Blink = current;
current.Flink = newNode;
}
//移除节点
public void Remove(object obj)
{
Node current = Find(obj);
if (!(current.Flink == null))
{
current.Blink.Flink = current.Flink;
current.Flink.Blink = current.Blink;
current.Flink = null;
current.Blink = null;
}
}
//找到最后的节点
public Node FindLast()
{
Node current = new Node();
current = header;
while (!(current.Flink == null))
current = current.Flink;
return current;
}
//输出节点
public void PrintReverse()
{
Node current = new Node();
current = FindLast();
while (!(current.Blink == null))
{
Console.WriteLine(current.Element);
current = current.Blink;
}
}
0 0
- C#链表;双向链表
- C#双向链表
- C# 双向链表
- C#实现双向链表
- C#实现双向链表
- C#实现双向链表
- C#双向链表的冒泡排序
- 链表-双向链表
- C# 数组集合<二> 双向链表和双向循环链表
- C# 双向链表及自定义链表
- 数据结构课程设计-----用C#实现双向链表
- 数据结构课程设计-----用C#实现双向链表
- C#双向链表反转--两种方式
- 用C#实现双向链表(使用泛型)
- 一个C#程序,用到了双向链表
- C#自定义双向链表,功能类似C++中的CList
- 【链表】双向链表——双向循环链表
- 7.5 链表-双向链表
- 基数树(radix tree)
- 关机 重启 BAT
- 关于C++中的虚拟继承的一些总结
- Linux tty 终端设备驱动
- shell 中 source 用法
- C#链表;双向链表
- 通过设计让APP变快的6个方法
- Hbase API管理功能2-HBaseAdmin
- sametime闪烁问题解决
- C++静态函数的作用
- ISO8583报文协议
- 微软SQLHelper.cs类 中文版
- JavaScript 中使用JSON
- 扩展微软DDK中的NDIS IM驱动的功能:添加一个DeviceIoControl接口