Exemple #1
0
        public void Prepend(int payload)
        {
            Node *oldHead = head;

            head = (Node *)unmanagedMemory.AllocHGlobal(unmanagedMemory.SizeOf(typeof(Node)));
            unmanagedMemory.StructureToPtr(new Node(payload, oldHead), (IntPtr)head, false);

            if ((long)oldHead == 0)
            {
                tail = head;
                return;
            }

            oldHead->ModifyLink((Node *)0, head);
        }