public void SetNext(MyLinkedListNodeSingly newNextNode)
 {
     Next = newNextNode;
     if (this == CurrentNode)
     {
         CurrentNode = newNextNode;
     }
 }
        //public LinkedListNodeSingly(int d, LinkedListNode n)
        //{
        //    Data = d;
        //    SetNext(n);
        //}
        public override MyLinkedListNode Clone()
        {
            MyLinkedListNodeSingly next2 = null;

            if (Next != null)
            {
                next2 = (MyLinkedListNodeSingly)((MyLinkedListNode)Next).Clone();
            }
            MyLinkedListNodeSingly head2 = new MyLinkedListNodeSingly(Data, next2);

            return((MyLinkedListNode)head2);
        }
        public static MyLinkedListNode GetLinkedListSingly_Serial(int min, int max)
        {
            MyLinkedListNode root = new MyLinkedListNodeSingly(min, null);
            MyLinkedListNode prev = root;

            for (int i = min + 1; i <= max; i++)
            {
                MyLinkedListNode next = new MyLinkedListNodeSingly(i, null);
                prev.SetNext(next);
                prev = next;
            }
            return(root);
        }
        public static MyLinkedListNode GetLinkedListSingly_Random(int N, int min, int max)
        {
            MyLinkedListNode root = new MyLinkedListNodeSingly(AssortedMethods.RandomIntInRange(min, max), null);
            MyLinkedListNode prev = root;

            for (int i = 1; i < N; i++)
            {
                int data = AssortedMethods.RandomIntInRange(min, max);
                MyLinkedListNode next = new MyLinkedListNodeSingly(data, null);
                prev.SetNext(next);
                prev = next;
            }
            return(root);
        }
 public MyLinkedListNodeSingly(object d, MyLinkedListNodeSingly n)
 {
     Data = d;
     SetNext(n);
 }
        public override void SetNext(MyLinkedListNode n)
        {
            MyLinkedListNodeSingly newNextNode = (MyLinkedListNodeSingly)n;

            SetNext(newNextNode);
        }