Tecnología

Inicio

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"