-
Cómo ordenamiento de burbuja en "C"
-
C es un lenguaje de programación para escribir programas de ordenador. La clasificación es un problema común en la programación. Por ejemplo, si el conjunto de datos contiene tres elementos: (20, 7, 66) de clasificación en los resultados en orden ascendente (7, 20, 66). Una especie de "burbuja" es un algoritmo simple. Se trata de varias pasadas a través de los elementos de manejo conjunto de datos que comparan, y los permuta si no están ordenados. Para implementar el algoritmo de ordenación, utilice una estructura de datos C llamada "matriz" que contiene un conjunto de variables en un orden determinado.
Instrucciones
1 Asignar el tamaño de la matriz para el "tamaño" variable en su programa C. Por ejemplo, si el conjunto de datos contiene cinco elementos. entrar
int size = 5;
2 Definir la matriz en los programas C:
int array [tamaño];
3 Añadir los números del conjunto de datos de la matriz; por ejemplo, si los elementos del conjunto de datos son 2,16, 75, 9 y 1 a continuación:
array [0] = 2;
array [1] = 16;
array [2] = 75;
matriz [3] = 9;
array [4] = 1;
4 Definir el valor lógico "intercambiado" necesaria para controlar el progreso de la clasificación. El algoritmo termina si esta variable sigue siendo falso al final del ciclo de algoritmo;
bool intercambiado;
int cuenta = 0;
La variable "recuento" cuenta ciclos del algoritmo.
5 Añadir el bucle "while" a su programa para comenzar a clasificar.
mientras que (en préstamo) {
intercambiado = false;
contar ++;
6 Hacer un bucle "para" que accede a los elementos de la matriz:
for (int i = 0; i <tamaño de recuento; i ++)
{
}
Tenga en cuenta que las llaves definen comandos dentro del bucle.
7 Comparar los elementos adyacentes de la matriz con el "if" para determinar si es necesario el intercambio:
for (int i = 0; i <tamaño-número; i ++)
{
if(array[i]>array[i+1])
}
8 Intercambiar los elementos adyacentes ( "i" e "i +") cuando la condición en el "if" es satisfecha
usando un "temp." variable temporal
for (int i = 0; i <tamaño-número; i ++)
{
si (array [i]> array [i + 1])
{
int temp=array[i];
array [i] = array [i + 1];
array [i + 1] = temp;
intercambiado = true;
}
}
La variable lógica se asigna "true" si se produce el intercambio. Si no es necesario el intercambio entonces la variable lógica sigue siendo "falso" que indica la matriz está completamente ordenada.
9 Imprimir la matriz ordenada con el comando:
for (int i = 0; i <tamaño; i ++)
{
std :: cout << array [i] << "";
}
En este ejemplo, el programa produce el siguiente resultado: 1 2 9 16 75.
Consejos y advertencias
- Las matrices en C están basadas en cero; el primer elemento tiene el índice "0"