La Red de Conocimientos Pedagógicos - Aprendizaje de redacción de artículos/tesis - Documento de aplicación del algoritmo de clasificación de burbujas

Documento de aplicación del algoritmo de clasificación de burbujas

# incluir ltstdio.h gt

/*Intercambiar dos números*/

Intercambio no válido (intereses e intereses.

1. int ampb)

{

int tmp

tmp = a

a = b

b = tmp

}

/*Generar una línea de diez números*/

void Write(int array[], int start, int end)

{

for(int I = comenzar; I lt=end; i)

//cout lt; ltarray[I] lt" "

printf("d",array[I]);

printf("\n");

//cout lt; p >

}

/*Ordenación por inserción*/

void InsertionSort(int array[], int start, int end)

{

int i, j;

int tmp

for(I = comenzar 1; I lt=end; I) /* Realiza un bucle varias veces y luego genera algunas líneas* /

{

tmp = array[I];

for(j = I-1; j gt= comenzarj -)

{

if(tmp gt;Array[j]) /*Si desea ordenar de pequeño a grande, cámbielo a ' >'Cámbielo a '

matriz[j 1]= matriz[j];

Otro

Descanso;

}

matriz[j 1]= tmp ;

p>

Escribir(matriz, comienzo, fin);/*Resultados de clasificación de salida (una línea)*/

}

}

/*Seleccionar clasificación*/

void SelectionSort(int array[], int start, int end)

{

int i , j;

int posición;

for(I = comenzar; i lt final; i)

{

for(j = i 1, posición = I; j lt=End; j)

{

if(array[j] gt; Array[position]) /*Si quieres ordenar de pequeño a grande, cámbielo a ' >' '

Posición = j;

}

Swap(array[i], array[position]) ;

Escribir(matriz, comienzo, fin

}

}

/*Clasificación de burbujas*/

void BubbleSort(int array[] , int start, int end)

{

int i, j;

for(I = comenzar; i lt fin; i)

{

for(j = comenzar; j lt= fin-comienzo-1; j )

{

if(array[j 1] >Array[j]) /*Si desea ordenar de pequeño a grande, cámbielo a ' >'Cámbielo a '

Swap(array[j ], matriz[j 1]);

p>

}

Escribir(matriz, comenzar, e

nd);

}

}

/*Copie la matriz original a la matriz que desea ordenar. Debido a que existen tres métodos de clasificación, la matriz original debe conservarse para otras llamadas */

bool Copy(int array1[], int array2[], int n1, int n2)

{

Si (n1!= n2)

Devuelve falso

Otro

{

para( int I = 0; i ltn 1; i )

{

matriz 1[I]= matriz 2[I];

}

Devuelve verdadero

}

}

/*Función principal*/

void main()

{

/*Si necesita ingresar un número de clasificación distinto de 10, puede cambiar las tres posiciones de 10 al número que desee*/

número int, I ;/ *Definir 2 variables enteras*/

int inicial[10], sort[10] /*Definir dos matrices, la primera es para guardar el número de entrada 10 y la segunda es para ordenar la matriz. */

Printf("Ingrese diez números para ordenar:\n ");

Número = 10 /*El número de clasificación es 10 */

< p; >for(I = 0; i lt número; i)

scanf("d ", ampinitial[I]);

printf("Insertar Ordenar de mayor a menor: \ n ");

escribir(inicial, 0, número-1); /*Imprimir los diez datos originales*/

Copiar (categoría, iniciales, número, número); / *Copiar la matriz original a la matriz ordenada*/

InsertionSort(sort, 0, number-1); /*Llamar a la función de clasificación*/

Printf(" Ordenar desde el mayor al más pequeño: \n ");

escribir(inicial, 0, número-1);

Copiar(categoría, iniciales, número, número);

SelectionSort(sort, 0, number-1);

Printf("Clasificación de burbujas de mayor a menor:\n ");

Copiar (categoría, iniciales, número, número

BubbleSort(sort, 0, number-1);