Exemple #1
0
        public string Draw()
        {
            string draw = "";

            while (HeadStackNodeSingly != null)
            {
                draw += HeadStackNodeSingly.Data + "->";
                HeadStackNodeSingly = HeadStackNodeSingly.Next;
            }

            return(draw);
        }
Exemple #2
0
        public T Pop()
        {
            if (HeadStackNodeSingly == null)
            {
                return(default(T));
            }
            var result   = HeadStackNodeSingly.Data;
            var previous = HeadStackNodeSingly.Next;

            HeadStackNodeSingly = previous;
            return(result);
        }
Exemple #3
0
        public void EnQueue1(T data)
        {
            if (Stack1 == null)
            {
                Stack1 = new StackLinkedList <T>();
            }

            if (Stack2 == null)
            {
                Stack2 = new StackLinkedList <T>();
            }
            var newData = new StackNodeSingly <T>(data);

            while (Stack1.HeadStackNodeSingly != null)
            {
                Stack2.Push(new StackNodeSingly <T>(Stack1.Pop()));
            }
            Stack1.Push(newData);
            while (Stack2.HeadStackNodeSingly != null)
            {
                Stack1.Push(new StackNodeSingly <T>(Stack2.Pop()));
            }
        }
Exemple #4
0
 public void Push(StackNodeSingly <T> NodeSingly)
 {
     NodeSingly.Next     = HeadStackNodeSingly;
     HeadStackNodeSingly = NodeSingly;
 }
Exemple #5
0
 public StackLinkedList(StackNodeSingly <T> stack = null)
 {
     HeadStackNodeSingly = stack;
 }