using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
ordenamiento_Shaker_sort
{
class ordenamiento
{
public int[] shaker(int[]
numeros)
{
int
n = numeros.Length;
int
izq = 1;
int
k = n;
int
aux;
int
der = n;
do
{
for
(int i = der; i > izq; i--)
{
if
(numeros[i - 1] >= numeros[i])
{
aux = numeros[i - 1];
numeros[i - 1] =
numeros[i];
numeros[i] = aux;
k = i;
}
}
izq = k + 1;
for
(int i = izq; i <= der; i++)
{
if
(numeros[i - 1] >= numeros[i])
{
aux = numeros[i - 1];
numeros[i - 1] =
numeros[i];
numeros[i] = aux;
k = 1;
}
}
der = k - 1;
}
while
(der >= izq);
return
numeros;
//for
(int i = 0; i < longitud; i++)
// Console.WriteLine(" " +
numeros[i]);
}
}
}
=====================================
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
ordenamiento_Shaker_sort
{
class Program
{
static void Main(string[]
args)
{
int[]
v = new int[500];
Random
r = new Random();
Console.WriteLine("Desordenados ");
for
(int i = 0; i < v.Length; i++)
{
v[i] = r.Next(500) ;
Console.WriteLine("Vector[" + i.ToString() + "] " + v[i]);
}
ordenamiento order = new
ordenamiento();
v = order.shaker(v);
Console.WriteLine("Datos
Ordenados ");
for (int i = 0; i <
v.Length; i++)
Console.WriteLine(v[i]);
Console.ReadKey();
}
}
}
No hay comentarios:
Publicar un comentario