Need Programming Assignment Help?

Get Help with Programming Assignment in Java, C/C++, Dot Net, PHP, Database and UML Diagrams

C# Programming Extensible Stack Implementation

C# Programming Extensible Stack Implementation

Extensible Stack Implementation – This Section of C# Program covers Extensible Stack Implementation.

using System;
namespace MyLibrary.Collections
{
	public class MyStack
	{
		private long nIncrement;
		private long nElements;
		private object[] elements;
		public MyStack(long initialCapacity, long nIncrement)
		{
			this.nElements = 0;
			this.nIncrement = nIncrement;
			elements = new object[initialCapacity];
		}
		public void Push(object element)
		{
			// If needed, extends stack's capacity to store more element.
			if (nElements == elements.Length)
			{
				object[] temp = new object[nElements + nIncrement];
				for (int i=0; i<nElements; i++)
					temp[i] = elements[i];
				elements = temp;
			}
			// Pushes element at the top of the stack.
			elements[nElements] = element;
			nElements++;
		}
		public object Pop()
		{
			if (IsEmpty())
				return null;
			else
			{
				object element = elements[nElements - 1];
				nElements--;
				return element;
			}
		}
		public object Peek()
		{
			if (IsEmpty())
				return null;
			else
				return elements[nElements - 1];
		}
		public bool IsEmpty()
		{
			if (nElements == 0)
				return true;
			else
				return false;
		}
		public long Length
		{
			get
			{
				return nElements;
			}
		}
	}
}