摘要: namespace DSList{ //无向图邻接矩阵的顶点结点类(Undirected Graph Adjaceney Matrix of Vertex Node) public class GvNode<T> { private T data; public T Data { get { return data; } set { data = value; } } public GvNode(T val) { data = val; } }} 阅读全文
posted @ 2011-03-27 12:43 山之松 阅读(129) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public interface IGraph<T> { int GetNumOfVertex(); //获取顶点的数目 int GetNumOfEdge(); //获取边的数目 bool IsGvNode(GvNode<T> v); //v是否为图的顶点 int GetIndex(GvNode<T> v); //获得顶点V在顶点数组中的索引 void SetEdge(GvNode<T> v1, GvNode<T> v2, int v); //在顶点v1和v2之间添加权值为v的边 void DelE 阅读全文
posted @ 2011-03-27 01:23 山之松 阅读(74) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class HuffmanTree { private HfmCode[] hfmCode; private HfmNode[] hfmNode; public HfmCode getHfmCode(int index) { return hfmCode[index]; } public void setHfmCode(int index,HfmCode hfcode) { hfmCode[index] = hfcode; } public HfmNode getHfmNode(int index) { return hfmNode[index 阅读全文
posted @ 2011-03-27 01:16 山之松 阅读(180) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class HfmNode { private int flag; //标记 private int weight; //权植 private int lChild; //左孩子下标 private int rChild; //右孩子下标 private int parent; //双亲结点下标 public int Flag { get { return flag; } set { flag = value; } } public int Weight { get { return weight; } set { weight = value 阅读全文
posted @ 2011-03-27 01:13 山之松 阅读(122) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class BinaryTree<T> where T:IComparable<T> { //Field private TreeNode<T> head; //Property public TreeNode<T> Head { get { return head; } set { head = value; } } //Constructors public BinaryTree(T val, TreeNode<T> lc, TreeNode<T> rc) { Tree 阅读全文
posted @ 2011-03-27 01:11 山之松 阅读(180) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class TreeNode<T> { private T data; private TreeNode<T> lChild; private TreeNode<T> rChild; public T Data { get { return data; } set { data = value; } } public TreeNode<T> LChild { get { return lChild; } set { lChild = value; } } public TreeNode<T& 阅读全文
posted @ 2011-03-27 01:09 山之松 阅读(110) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class StringDS { //Field private char[] data; //Properties public char this[int index] { get { return data[index]; } set { data[index] = value; } } //Constructors public StringDS(char[] arr) { data = new char[arr.Length]; for (int i = 0; i < arr.Length; i++) { data[i] = a 阅读全文
posted @ 2011-03-27 01:06 山之松 阅读(104) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class LinkQueue<T> : IQueue<T> { //Fields private Node<T> front; private Node<T> rear; private int count; //Properties public Node<T> Front { get { return front; } set { front = value; } } public Node<T> Rear { get { return rear; } set { r 阅读全文
posted @ 2011-03-27 01:03 山之松 阅读(95) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public class CSeqQueue<T> : IQueue<T> { //Fields private int maxsize; private T[] data; private int front; private int rear; private int count; //Properties public T this[int index] { get { return data[index]; } set { data[index] = value; } } public int Maxsize { get { 阅读全文
posted @ 2011-03-27 01:01 山之松 阅读(225) 评论(0) 推荐(0) 编辑
摘要: namespace DSList{ public interface IQueue<T> { int GetLength(); //求队列的长度 void Clear(); //清空操作 bool IsEmpty(); //判断是否为空 void In(T item); //入队操作 T Out(); //出队操作 T GetFront(); //取队头元素 }} 阅读全文
posted @ 2011-03-27 00:58 山之松 阅读(103) 评论(0) 推荐(0) 编辑