| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 120 人关注过本帖
标题:谁能把双向链表插入写成成C#程序(我写的不知道对不对)
收藏  订阅  推荐  打印 
anwoshishu
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2008-8-15
谁能把双向链表插入写成成C#程序(我写的不知道对不对)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Doublelist
{
    class TNode
    {
        public Object obj;
        public TNode next, prev;

        public TNode(Object obj, TNode next, TNode prev)
        {
            this.obj = obj;
            this.next = next;
            this.prev = prev;
        }
    }
    class TList
    {
        private TNode first, last;
        public TList(TNode first,TNode last)
        {
            this.first = first;
            this.last = last;
        }

        public bool IsNull()//判断表是否为空
        {
            if (first == null)
                return true;
            return false;
        }

        public bool IsBof(TNode p)//判断是否插在表头
        {
            TNode NewTNode = new TNode(p.obj, p.next, p.prev);
            if (NewTNode.next == first)
                return true;
            return false;
        }

        public bool IsLast(TNode p)//判断是否插在表尾
        {
            TNode NewTNode = new TNode(p.obj, p.next, p.prev);
            if (NewTNode.prev == last)
                return true;
            return false;

        }

        private void Insert(object obj,TNode p)
        {
            TNode NewTNode = new TNode(p.obj,p.next,p.prev);
            if (IsNull())
            {
                first = NewTNode;
                last = NewTNode;
            }
            else
            {               
                NewTNode.prev = p.prev;
                p.prev.next = NewTNode;
                p.prev = NewTNode;
                NewTNode.next = p;               
            }
            if (IsBof(p))
            {
                NewTNode.next = p;
                p.prev = NewTNode;
                NewTNode.prev = first;
               
            }
            if (IsLast(p))
            {
                NewTNode.prev = p;
                p.next = NewTNode;
                NewTNode.next = last;
            }
        }

        public static void Main(string[] args)
        {
            
        }
    }
}
搜索更多相关主题的帖子: 链表  
2008-8-15 11:19
anwoshishu
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2008-8-15
回复 1# anwoshishu 的帖子

没人帮我看看怎么写吗?
2008-8-15 11:21
anwoshishu
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2008-8-15
回复 2# anwoshishu 的帖子

高手都不稀罕回答了?
2008-8-15 11:24
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049386 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved