Esempio n. 1
0
            public T[] DeleteNode_Encrypt(int key)
            {
                CircleLinkNode <T> current1 = head;
                CircleLinkNode <T> current2 = head;

                T[] Data = new T[length];
                for (int i = 0; i < length; i++)
                {
                    for (int j = 1; j < key; j++)
                    {
                        current1 = current2;
                        current2 = current2.Next;
                    }
                    current1.Next = current2.Next;
                    Data[i]       = current2.Data;
                    current2      = current1.Next;
                }
                return(Data);
            }
Esempio n. 2
0
            public void AppendNode(T a)
            {
                if (head == null)
                {
                    head      = new CircleLinkNode <T>(a);
                    head.Next = head;
                    length++;
                    return;
                }
                CircleLinkNode <T> current = head;
                CircleLinkNode <T> newnode = new CircleLinkNode <T>(a);

                for (int i = 0; i < length - 1; i++)
                {
                    current = current.Next;
                }
                current.Next = newnode;
                newnode.Next = this.Head;
                length++;
            }
Esempio n. 3
0
 public CircleLinkNode()
 {
     data = default(T);
     next = null;
 }
Esempio n. 4
0
 public CircleLinkNode(CircleLinkNode <T> p)
 {
     next = p;
 }
Esempio n. 5
0
 public CircleLinkNode(T val, CircleLinkNode <T> p)
 {
     data = val;
     next = p;
 }
Esempio n. 6
0
 public CircleLinkList()
 {
     this.head = null;
 }