日期:2011-07-20  浏览次数:20563 次

using System;
using ZH.DataFrame.AbstractData;

namespace ZH.DataFrame.BasicData.ChainTable
{
    Node 单链表#region Node 单链表
    /**//// <summary>
    /// 单链表
    /// </summary>
    public class Node
    {
        public object item;
        public Node next;
        private  Node head;
        private int index;

        构造函数#region 构造函数
        public Node()
        {
            head=new Node("head");
            index=0;       
        }
        public Node(object v)
        {
            item=v;next=null;
        }
        /**//// <summary>
        /// 可以自定义开始头节点
        /// </summary>
        public void headNode()
        {
           head=new Node("head");
           index=0;
        }
        #endregion

        插入#region 插入
        /**//// <summary>
        /// 从后面插入
        /// </summary>
        /// <param name="ob">要插入的数据</param>
        public void insertNode(object ob)//从后面插入
        {
            Node x=head;
            Node t=new Node(ob);

            for(int i=0;i<index;i++)
                x=x.next;

            t.next=x.next;
            x.next=t;

            index=index+1;
        }
        /**//// <summary>
        /// 指定插入(插入指定参数的下面)l从0开始插入第一个的前面
        /// </summary>
        /// <param name="ob">要插入的数据</param>
        /// <param name="l">要插入的数据的位置</param>
        /// <returns>true为插入成功,反之失败</returns>
        public bool insertNode(object ob,int l)//指定插入(插入指定参数的下面)l从0开始插入第一个的前面
        {
        &n