Archivo de 13 octubre 2011

h1

Ordenar Vector (Intercambio Directo)

13 octubre 2011

¡Buenas a todos!

Seguiremos  con la serie de tutoriales de tipos de algoritmos, como en otras ocasiones os he comentado, este tipo de tutoriales se llevaran a cabo en lenguaje C.

Hoy os enseñaré otra técnica para poder ordenar un vector con el algoritmo de intercambio directo. El desarrollo básico es que  compararemos pares de elementos y si están  desordenados  se ordenaran  de menor a mayor.

Primero llenaremos el vector  con números aleatorios mediante la función random. Y a continuación comenzaremos a desarrollar el algoritmo.

for (i=1; i<10; i++)

{

for (j=1; j<10-i; j++)

{

if (vector[j]> vector [j+1])   // comparamos si el valor actual es menor que el siguiente

{

aux=vector[j+1];

//  Si el valor que tiene el valor contiguo es mayor se almacena en una variable

vector[j+1]=vector[j];

//Se cambia el valor de la posicion actual a la posicion siguiente

vector[j]=aux;

//la posicion actual toma el valor menor

}

}

} 

Para poder descargar  el código completo desde el siguiente enlace

¡Un saludo!

h1

Ordenar Vector(Insercion directa)

7 octubre 2011

¡Buenas a todos!

Hoy vamos a aprender métodos de ordenación de un vector. Voy a ser una serie de tutoriales que versaran  sobre distintas formas de llevar a cabo la misma operación,  este tipo de artículos ayudarán sobre todo a las personas que  estén aprendiendo a programar y desarrollar algoritmos.

Este tipo de tutorial lo desarrollaré en Lenguaje C ya que creo que es uno de los más típicos con los que la gente aprende a programar y que todos más o menos conocemos su sintaxis.

Hoy os enseñaré a cómo  desarrollar la ordenación por método de  inserción directa. Tiene  cuatro pasos básicos.

  1. Tomar un elemento en la posición
  2. Buscar un lugar en sus posiciones anteriores
  3. Mover hacia la derecha los restantes
  4. Insertarlo


for (i=1; i<10; i++) // recorreremos el vector
{
vector[0]=vector[i]; // almacenaremos el valor
posicion=i; //almacenaremos la posicion
while (vector[0]<vector[posicion-1])
//compararemos si ese valor es menor que los anteriores y si es así moveremos los valores hacia la derecha hasta encontrar su posición
{
vector[posicion]=vector[posicion-1];
posicion--;
}
vector[posicion]=vector[0]; // insertaremos el valor en la posición correcta
}

Para poder descargar  el código por completo pincharemos en el siguiente enlace.

¡Un saludo!

Seguir

Get every new post delivered to your Inbox.