Documento de aplicación del algoritmo de clasificación de burbujas
/*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)
{ p >
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);