当前位置:  编程技术>.net/c#/asp.net

C#数据结构之循环链表的实例代码

    来源: 互联网  发布时间:2014-10-17

    本文导语:  代码如下:    public class Node    {        public object Element;        public Node Link;         public Node()        {            Element = null;            Link = null;        }         public Node(object theElement) ...

代码如下:

    public class Node
    {
        public object Element;
        public Node Link;

        public Node()
        {
            Element = null;
            Link = null;
        }

        public Node(object theElement)
        {
            Element = theElement;
            Link = null;
        }
    }

代码如下:

public class LinkedList
    {
        //头结点
        protected Node Header;

        private int count;

        public LinkedList()
        {
            count = 0;
            Header = new Node("header");
            Header.Link = Header;
        }

        public bool IsEmpty()
        {
            return (Header.Link == null);
        }

        public void MakeEmpty()
        {
            Header.Link = null;
        }

        public void PrintList()
        {
            Node current = new Node();
            current = Header;
            while (current.Link.Element.ToString() != "header")
            {
                Console.WriteLine(current.Link.Element);
                current = current.Link;
            }
        }

        private Node FindPrevious(object n)
        {
            Node current = Header;
            while (!(current.Link == null) && current.Link.Element != n)
            {
                current = current.Link;
            }
            return current;
        }

        private Node Find(object item)
        {
            Node current = new Node();
            current = Header.Link;
            while (current.Element != item)
            {
                current = current.Link;
            }
            return current;
        }

        public void Insert(object newItem, object after)
        {
            Node current = new Node();
            Node newNode = new Node(newItem);
            current = Find(after);
            newNode.Link = current.Link;
            current.Link = newNode;
            count++;
        }

        public void Remove(object n)
        {
            Node p = FindPrevious(n);
            if (!(p.Link == null))
            {
                p.Link = p.Link.Link;
                count--;
            }
        }

        public void InsertFirst(object n)
        {
            Node current = new Node(n);
            current.Link = Header;
            Header.Link = current;
            count++;
        }

        public Node Move(int n)
        {
            Node current = Header.Link;
            Node tmp;
            for (int i = 0; i


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python数据结构之二叉树的建立实例
  • python数据结构之二叉树的遍历实例
  • python数据结构之二叉树的统计与转换实例
  • PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
  • <<大话数据结构>>中冒泡排序算法改进
  • 强人,linux下驱动相关数据结构和usb设备数据结构之间的功能分析
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • GNU汇编fill填充一个数据结构使得另一个数据结构全部清零
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • mysql 命令大全及导入导出表结构或数据
  • 通用数据结构库 GDSL
  • 如何把一个数组转化为一个数据结构,如ArrayList。
  • 多维数据结构 mdds
  • C数据结构库 liblfds
  • 一个新的JavaScript数据结构 stream.js
  • 数据结构和算法教程 OpenDSA
  • 数据结构
  • 高手帮帮忙!vi中如何实现跳转到任意结构体或函数的声明处,包括系统库中声明的函数和数据结构?
  • 请教各位,数据结构在工程中到底有什么应用呢
  • 放假了,想用java数据结构,请问大虾们该如何开始?
  • sem_t的数据结构是什么?
  • docker中文入门学习手册 iis7站长之家




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3