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
Resumo por IA: 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.
Código fonte
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
Comentários originais (3)
Recuperado do Wayback Machine