class Program
{
int h;
int[] vector;
private void mostrar()
{
Console.WriteLine("\nVector ordenados en forma ascendente");
for (int i = 0; i < h; i++)
{
Console.Write("\nValor= "+ vector[i]);
}
Console.ReadLine();
}
public void llenar(int n)
{
h = n;
vector = new int[h];
Random r = new Random();
for (int i = 0; i < h; i++)
{
vector[i] = r.Next(0,3000);
Console.Write("\nValor random= "+vector[i]);
}
quicksort(vector, 0, h - 1);
mostrar();
}
static void Main(string[] args)
{
int n;
Console.WriteLine("Quick Sort");
Console.Write("Cuantos longitud del vector: ");
n = Int32.Parse(Console.ReadLine());
Program h = new Program();
h.llenar(n);
h.mostrar();
Console.ReadKey();
}
public void quicksort(int[] vec,int izq, int der)
{
int i, j, pivote, aux;
i = izq;
j = der;
pivote = vec[(izq + der) / 2];
do
{
while (vec[i] < pivote && i < der)
{
i++;
}
while (vec[j] > pivote && j > izq)
{
j--;
}
if (i <= j)
{
aux = vec[i];
vec[i] = vec[j];
vec[j] = aux;
i++;
j--;
}
} while (i <= j);
if (izq < j)
quicksort(vec,izq, j);
if (i < der)
quicksort(vec,i, der);
}
}
#14 C# Ordenamiento QuickSort
Programa que usa el algoritmo QuickSort para ordenar valores random
Suscribirse a:
Enviar comentarios (Atom)
.png)
No hay comentarios:
Publicar un comentario