Advertisement
6_2008-2009 Data Structures #196289

Extensible stack implementation

A stack is a LIFO (Last in First out) collection. It can store any kind of data and has the possibility to extend its maximum number of objects. Comments would be greatly appreciated!

AI

ملخص الذكاء الاصطناعي: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

كود المصدر
original-source
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;
			}
		}
	}
}
Upload
Upload
التعليقات الأصلية (3)
مسترجع من Wayback Machine