C#实现一个简单链表

来源:互联网 发布:儿童涂鸦软件 编辑:程序博客网 时间:2024/05/16 01:21
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



namespace mylistnode
{
    class Node<T>
    {
        private T data;
        private Node<T> next;


        public T Data
        {
            get { return data; }
            set { data = value;}
         }   
        public Node<T> Next
        {
            get {return next;}
            set {next = value;}
         }
        public Node(T data)
        {
            this.data =data;
            this.next = null;
        }
        public Node()
        {
            this.data = default (T);
            this.next = null;
        }    
    }

}


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



namespace mylistnode
{
    class Linklist<T>
    {
        private Node<T> head; 
        private Node<T> p;
        public Node<T> Head
        {
            get{ return head; }
            set{ head = value;}
        }
        public Linklist()
        {
            head = new Node<T>();
        }
        public void Add( T data)
        {
            Node<T> n = new Node<T>(data);
            p = head;
            n.Next = head.Next;
            p.Next = n;
        }


        public void List()
        {
            Node<T> t;
            t = head.Next;
            while (t!=null )
                {
                System.Console.WriteLine(t.Data);
                t = t.Next;
                 }
            
        }
    }
}


namespace mylistnode
{
    class Program
    {
        static void Main(string[] args)
        {
            Linklist<int> p = new Linklist<int>();
            p.Add(5);
            p.Add(4);
            p.Add(3);
            p.List();
            Console.Read();
        }
    }
}


0 0
原创粉丝点击