class Cola_AlternativaEste método sirve para agregar datos a la cola simple
{
int[] _datos;
int _ultimo;
bool _vacia, _llena;
public Cola_Alternativa(int size)
{
_datos = new int[size];
_ultimo = -1;
_vacia = true;
_llena = false;
}
public Cola_Alternativa(Cola_Alternativa cola, int size)
:this(size)
{
int length = cola._ultimo + 1 < size ? cola._ultimo + 1 : size;
for (int i = 0; i < length; i++)
this._datos[i] = cola._datos[i];
this._ultimo = length - 1;
}
public void Agregar(int dato)Este método sirve para extraer datos de la cola simple
{
if (_ultimo+1 < _datos.Length)
{
_datos[++_ultimo] = dato;
_vacia = false;
if (_ultimo == _datos.Length)
_llena = true;
}
else
throw new ApplicationException("Overflow");
}
public int Extraer()Este es un método crucial para el funcionamiento de esta cola, ya que permite que los elementos avancen el la cola
{
if (_ultimo >= 0)
{
int temp = _datos[0];
Avanzar();
_ultimo--;
return temp;
}
else
throw new ApplicationException("Underflow");
}
private void Avanzar()Descarga el proyecto completo desde aquí
{
for (int i = 0; i < _ultimo; i++)
_datos[i] = _datos[i + 1];
}
public override string ToString()
{
string s = "";
for (int i = 0; i <= _ultimo; i++)
s += _datos[i] + " ";
return s;
}
}
http://www.mediafire.com/?p63yaccm7drgzgh
No hay comentarios:
Publicar un comentario