Tecnología

Inicio

Cómo ordenar en Turbo C ++

Cómo ordenar en Turbo C ++


Turbo C ++ ha sido objeto de algunos cambios de nombre, pero ya que emplea estándares definidos por el Instituto Nacional Estadounidense de Estándares (ANSI), clasificación rutinas con la misma sintaxis son ejecutables en todas las versiones (incluyendo Turbo C si usted todavía tiene un equipo desde los años 80 ). Turbo C ++ reemplazó Turbo C alrededor de 1990; de agosto de 2010 NOTA se llama C ++ Builder XE. Turbo C ++ se extiende el lenguaje de programación C; Por lo tanto, la mayoría de las operaciones de C también son válidas en C ++. Turbo C ++ ofrece muchas diferentes algoritmos de ordenación; el más simple - pero quizás no es el más eficiente para listas muy largas - es el algoritmo de la burbuja-tipo. Este algoritmo compara los elementos de la lista y permutas de valores hasta que la lista está ordenada.

Instrucciones

1 Declarar una variable llamada "temp" que es del mismo tipo que la lista está ordenando. Por ejemplo, si está ordenando una matriz de enteros llamados "integerList" de menor a mayor, declarar la variable temp de la siguiente manera:

int temp;

Más tarde, esta variable será mantener temporalmente los valores para el bombeo.

2 Declarar dos variables enteras - "i" y "j". Estos tendrán acceso a elementos de la matriz lista. Por ejemplo, para acceder elemento j, utilice la sintaxis "integerList [j]." Es más ordenado para declarar estas variables junto con la temperatura variable como sigue:

int temp, i, j;

3 Declarar una variable entera llamada "listLength" y asignarle el número de elementos en la lista. Por ejemplo:

int listLength = 30;

4 Construir el marco para un bucle "for", utilizando la variable i como el iterador en sus argumentos, cero para el valor inicial, listLength para el valor extremo y un tamaño de paso de uno. Un bucle "for" contiene código que es ejecutado en repetidas ocasiones sobre el número de pasos definidos por el "para" loops "tres argumentos, que incluyen el valor inicial, el valor final y el tamaño de paso. Hacer esto de la siguiente manera:

for (i = 0; i <listLength; i ++)

{

code goes in here

}

5 Nido de otro bucle "for" dentro del bucle anterior, esta vez utilizando la variable j que el iterador, i + 1 para el valor de inicio, listLength para el valor extremo y un tamaño de paso de uno. Ahora, el código debería tener este aspecto:

int temp, i, j, listLength = 30;

for (i = 0; i <listLength; i ++)

{

for(j=i+1; j&lt; listLength;j++)

{

código va aquí

}

}

Este elemento será primero recoger i de la matriz se clasifica y luego ir por el resto de la lista, comparar elemento j al elemento i y cambiar los valores si el elemento i es menor que el elemento j.

6 Insertar un "si" bucle para probar si el elemento j-ésima es mayor que la i-ésima como sigue:

int temp, i, j, listLength = 30;

for (i = 0; i <listLength; i ++)

{

for(j=i+1; j&lt; listLength;j++)

{

si (integerList [i]> integerList [j])

{

código va aquí

}

}

}

7 Inserte el código para cambiar los elementos i y j si integerList [i] es mayor que integerList [j] de la siguiente manera:

int temp, i, j, listLength = 30;

for (i = 0; i <listLength; i ++)

{

for(j=i+1; j&lt; listLength;j++)

{

si (integerList [i]> integerList [j])

{

temp = integerList [i];

integerList [i] = integerList [j];

integerList [j] = temp;

}

}

}

Tenga en cuenta que la temperatura variable declarada anteriormente ahora está siendo utilizado como un soporte temporal de los elementos de la lista.