viernes, 25 de noviembre de 2011

Orddenamiento Burbija (Bubblesort)

El ordenamiento de burbuja es uno de los tipos de ordenamiento más sencillos por su facilidad de comprensión, a continuación una clase que lo implementa

class Ordenamiento
{
int[] _vec;

int interc, comp;

public Ordenamiento(int[] v)
{
interc = 0;
comp = 0;
_vec = new int[v.Length];
for (int i = 0; i < v.Length; i++)
{
_vec[i] = v[i];
}
}

public int Comp
{
get { return comp; }
}

public int Inter
{
get { return interc; }
}

public int[] BurbujaA()
{
comp = 0;
interc = 0;
int temp = 0;
bool listo = true;
for (int i = 1; i < _vec.Length; i++)
{
listo = true;
for (int j = 0; j < _vec.Length - i; j++)
{
comp++;
if (_vec[j] > _vec[j + 1])
{
interc++;
temp = _vec[j];
_vec[j] = _vec[j + 1];
_vec[j + 1] = temp;
listo = false;
}

}
if (listo)
return _vec;
}
return _vec;
}

public int[] BurbujaD()
{
comp = 0;
interc = 0;
int temp = 0;
bool listo = true;
for (int i = 1; i < _vec.Length; i++)
{
listo = true;
for (int j = 0; j < _vec.Length - i; j++)
{
comp++;
if (_vec[j] < _vec[j + 1])
{
interc++;
temp = _vec[j];
_vec[j] = _vec[j + 1];
_vec[j + 1] = temp;
listo = false;
}

}
if (listo)
return _vec;
}
return _vec;
}

}

No hay comentarios:

Publicar un comentario