Método burbuja
Arreglos en c++ ejercicios resueltos
El programa ordena los elementos de un array por el método de ordenamiento con estructuras por burbuja en c++. Para lo cual desarrollaremos un programa que permita ingresar el límite del arreglo, ingresar elementos del arreglo y mostrarlo completamente ordenado.
#include<iostream.h>
#include<conio.h>
#include<string.h>
#define MAX 50
struct ordenamiento
{int elem ;
};
void leerarray(int,struct ordenamiento []);
void burbuja (int,struct ordenamiento []);
void muestra (int,struct ordenamiento []);
void main()
{
int n;
struct ordenamiento orden[MAX];
cout<<"Ingrese limite del arreglo:";
cin>>n;
leerarray(n,orden);
burbuja (n,orden);
cout<<endl<<"El arreglo ordenado es:"<<endl;
muestra(n,orden);
getch();
}
void leerarray(int n,struct ordenamiento a[])
{ for(int i=0;i<n;i++)
{
cout<<"Ingrese elemento "<<i<<":";
cin>>a[i].elem;
}
}
void burbuja (int n,struct ordenamiento a[])
{
int i,j;
struct ordenamiento temp;
for(i=1;i<n;i++)
for(j=n-1;j>=i;j--)
if(a[j-1].elem >a[j].elem)
{
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
void muestra (int n,struct ordenamiento a[])
{
for(int i=0;i<n;i++)
cout<<" "<<a[i].elem;
}
Como se puede ver en la imagen, el programa realiza lo siguiente:
Las variables que se usaron son: “elem” es el número que se ingresará al arreglo, “n” es la cantidad de números o límite que tendrá el arreglo, “temp” es una variable temporal, que lo usaremos en este método para ordenar los datos ingresados (de menor a mayor).
El programa permite ingresar la cantidad límite que tendrá el arreglo en la aplicación.
En este caso el límite ingresado es 5, por lo tanto se ingresaron cinco elementos. Tú puedes ingresar el número límite que deseas.
El programa procesa los números ingresados del arreglo para luego mostrar los elementos de forma ordenada (de menor a mayor).
Si te gustó el ejercicio desarrollado en esta entrada, compártelo con tus amigos y síguenos en nuestras redes sociales.
Continuando con la condicional IF, les comparto el siguiente post: Método burbuja – Mayor y menor de una lista