class Cola<t>Este método sirve para agregar un elemento a la cola circular
{
int _noElems;
int _p;
int _u;
t[] _a;
bool _vacia, _llena;
public Cola(int tamaño)
{
_a = new t[tamaño];
_p = 0;
_u = 0;
_vacia = true;
_llena = false;
}
public Cola()
{ }
public void Agregar(t dato)Este método sirve para extraer un elemento de la cola circular
{
if (!_llena)
{
if (_u == _a.Length)
_u = 0; ;
_a[_u++] = dato;
_noElems++;
_vacia = false;
if (_noElems == _a.Length)
_llena = true;
}
else
throw new ApplicationException("Overflow");
}
public t Extraer()Este método es una sobrecarga del método ToString() que ayuda a visualizar todos los elementos de una cola circular
{
if (!_vacia)
{
if (_p == _a.Length)
_p = 0;
t temp = _a[_p++];
_noElems--;
_llena = false;
if (_noElems == 0)
_vacia = true;
return temp;
}
else
throw new ApplicationException("Underflow");
}
public override string ToString()
{
string a = "";
int uT = _u > _p ? _u : _a.Length;
for (int i = _p; i < uT; i++)
{
a += _a[i];
a += " ";
}
if (_u < _p)
{
for (int i = 0; i < _u; i++)
{
a += _a[i];
a += " ";
}
}
return a;
}
}
Puedes descargar el proyecto que hace uso de esta clase aquí:
http://www.mediafire.com/?hmwbrb3hbmspca0
No hay comentarios:
Publicar un comentario