SlideShare una empresa de Scribd logo
1 de 3
Nombre:Santiago René Sarmiento Sotomayor
Docente:Ing.Daniel Irene
Tema: Método de Intercambio o de Burbuja.
Consiste en evaluar pares de elementos contiguos del arreglo, y si el primero es mayor que el
siguiente los intercambia, según la condición. Todo sucede dentro de dos ciclos (for) que recorren
el arreglo. El ciclo más interno realiza las comparaciones, y es ahí donde el elemento mayor
ocupara una posición mayor.
Formas de Método Burbuja:
Comparando primer elemento con el segundo, luego segundo con tercero y
sucesivamente.
for(i=1;i<Nelementos;i++)
{
for (j=0;j<=Nelementos-1 ;j++)
{
if (array[j] > array[j+1])
{
Aux=array[j];
array[j]=array[j+1];
array[j+1]=Aux;
}
}
}
Comparando primer elemento con todos los demás restantes, y
luego el segundo con todos los elementos restantes, así
sucesivamente.
El algoritmo se puede
diseñar para que ordene un
vector de forma ascendente
como también
descendentemente.
for (i = 0; i <Nelementos; i++)
{
for (intj = i +1; j <Nelementos; j++)
{
if (array[i] > array[j])
{
Aux = array[i];
array[i] = array[j];
array[j] = Aux;
}
}
}
Ejemplo:Ordenar ascendentemente el siguiente vector. A=[5, 3, 7, 1](Corrida manual)
Primer array A=[5, 3, 7, 1]
Array ordenado de forma ascendente A=[1, 3, 5, 7]
Métodos Directos de Ordenamiento de un Array o Vector.
Burbuja.
Inserción Directa.
Consiste en insertar un elemento en el vector y comenzar de nuevo con los elementos
restantes. Ejemplo: ordenar el elemento 7.
Insertaremos el elemento numero 8 saltando por los elementos 6 y 7.
Selección.
1. Seleccionar el menor elemento del vector de n elementos.
2. Intercambia dicho elemento con el primero.
3. Se repiten esas operaciones con n-1 elementos restantes, se selecciona el segundo
y continuamos con n-2, así sucesivamente hasta que solo quede el mayor.
Referencia:
http://www.nachocabanes.com/tutors/salvadorPozo-Cpp.pdf
http://webdelprofesor.ula.ve/ingenieria/eliana/prog/Vectores.pdf
Pasos
Condiciónfor(j=0;j<limite;j++)
{ for(i=0;i<limite;i++)
If(A[i]>A[i+1]) intercambia }
Array (limite=3)
A=[5, 3, 7, 1]
1 5 > 3 A=[3, 5, 7, 1]
2 5 < 7 A=[3, 5, 7, 1]
3 7 > 1 A=[3, 5, 1, 7]
Vuelvo a comparar desde A[0]
4 3 < 5 A=[3, 5, 1, 7]
5 5 > 1 A=[3, 1, 5, 7]
6 5 > 7 A=[3, 1, 5, 7]
Vuelvo a A[0]
7 3 > 1 A=[1, 3, 5, 7]
Fin Procedimiento
EJEMPLO: Usar método burbuja para ordenar el array creado aleatoriamente.
Metodo_Burbuja.cpp
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <windows.h>
#define length(x) (sizeof(x)/sizeof(x[0]))
using namespace std;
void cambio(int&a, int&b);
void ordenar_burbuja(intarreglo[], intlimite);
void mostrar_array(intarreglo[], intlimite);
int main()
{
intlim=0;
cout<<"Ingrese el limite del array unidimensional"<<endl;
cin>>lim;
int array[lim];
srand(time(NULL));
cout<<"n"<<"Primer array"<<endl<<"A=[";
for (int i=0; i<lim;i++)//crea un array con numeros aleatorios
array[i]=1+rand()%29;
mostrar_array(array,lim);
cout<<" ]"<<"nn"<<"Array ordenado"<<"n"<<"A=[";
ordenar_burbuja(array,lim);
mostrar_array(array,lim);
cout<<" ]";
system("pause>null");
return 0;
}
voidordenar_burbuja(intarreglo[], intlimite)//Comparasusecivamente.
{
for (int i=0;i<limite-1;i++)
for (int j=0;j<limite-1;j++)
if(arreglo[j] > arreglo[j+1])
cambio(arreglo[j],arreglo[j+1]);
}
void cambio(int&a, int&b)//Paso por referencia de valor de un elemento
{
int aux=b;
b=a;
a=aux;
}
void mostrar_array(intarreglo[], intlimite)
{
for (int i=0; i<limite;i++)
cout<<" "<<arreglo[i];
}
El código fuente está diseñado
para que comprare cada uno
de los elementos con el que le
sigue, de esa forma
sucesivamente hasta terminar
el proceso.

Más contenido relacionado

La actualidad más candente

Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
ITCV
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
lichic
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
Wilmer Quintero
 

La actualidad más candente (20)

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Entidades
EntidadesEntidades
Entidades
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructuras
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Arreglos
ArreglosArreglos
Arreglos
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
 
Máquinas de Turing
Máquinas de TuringMáquinas de Turing
Máquinas de Turing
 
Ordenamiento de Archivos en Java
Ordenamiento de Archivos en JavaOrdenamiento de Archivos en Java
Ordenamiento de Archivos en Java
 
COLAS
COLASCOLAS
COLAS
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
Listas
ListasListas
Listas
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 

Similar a Metodo burbuja C++

UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
Maiky Kobatakane
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
Monica Canaza
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
lichic
 
Reny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de AlgoritmoReny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de Algoritmo
Reny-Galaviz
 
Reny galavs jaimemarin
Reny galavs jaimemarinReny galavs jaimemarin
Reny galavs jaimemarin
Reny-Galaviz
 
C:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
C:\Documents And Settings\Electro4\Mis Documentos\Carlos EstradaC:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
C:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
carlos estrada
 

Similar a Metodo burbuja C++ (20)

Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
 
Ordenacion Burbuja
Ordenacion BurbujaOrdenacion Burbuja
Ordenacion Burbuja
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Reny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de AlgoritmoReny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de Algoritmo
 
Reny galavs jaimemarin
Reny galavs jaimemarinReny galavs jaimemarin
Reny galavs jaimemarin
 
expo de metodos de busqueda.pptx
expo de metodos de busqueda.pptxexpo de metodos de busqueda.pptx
expo de metodos de busqueda.pptx
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Arrays metodos deordenamiento01
Arrays metodos deordenamiento01Arrays metodos deordenamiento01
Arrays metodos deordenamiento01
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
C:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
C:\Documents And Settings\Electro4\Mis Documentos\Carlos EstradaC:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
C:\Documents And Settings\Electro4\Mis Documentos\Carlos Estrada
 

Más de Santiago Sarmiento

Grandes inventos desde la época precolombina
Grandes inventos desde la época precolombinaGrandes inventos desde la época precolombina
Grandes inventos desde la época precolombina
Santiago Sarmiento
 
Herramientas colaborativas y web 2 "UTPL"
Herramientas colaborativas y web 2 "UTPL"Herramientas colaborativas y web 2 "UTPL"
Herramientas colaborativas y web 2 "UTPL"
Santiago Sarmiento
 
Trabajo de computacion a distancia
Trabajo de computacion a distanciaTrabajo de computacion a distancia
Trabajo de computacion a distancia
Santiago Sarmiento
 

Más de Santiago Sarmiento (14)

Dimmer digital con Arduino
Dimmer digital con ArduinoDimmer digital con Arduino
Dimmer digital con Arduino
 
Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++
 
Simulador carrera de caballos desarrollado en C++
Simulador carrera de caballos desarrollado en C++Simulador carrera de caballos desarrollado en C++
Simulador carrera de caballos desarrollado en C++
 
Ejercicios en C++
Ejercicios en C++Ejercicios en C++
Ejercicios en C++
 
HidroPaute
HidroPauteHidroPaute
HidroPaute
 
Parque Eólico Villonaco - Loja
Parque Eólico Villonaco - LojaParque Eólico Villonaco - Loja
Parque Eólico Villonaco - Loja
 
Grandes inventos desde la época precolombina
Grandes inventos desde la época precolombinaGrandes inventos desde la época precolombina
Grandes inventos desde la época precolombina
 
Cultura Inca
Cultura IncaCultura Inca
Cultura Inca
 
Cultura Maya
Cultura Maya Cultura Maya
Cultura Maya
 
Historia de las telecomunicaciones
Historia de las telecomunicacionesHistoria de las telecomunicaciones
Historia de las telecomunicaciones
 
Herramientas colaborativas y web 2 "UTPL"
Herramientas colaborativas y web 2 "UTPL"Herramientas colaborativas y web 2 "UTPL"
Herramientas colaborativas y web 2 "UTPL"
 
Trabajo de computacion a distancia
Trabajo de computacion a distanciaTrabajo de computacion a distancia
Trabajo de computacion a distancia
 
Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 
Circuitos Eléctricos
Circuitos Eléctricos Circuitos Eléctricos
Circuitos Eléctricos
 

Metodo burbuja C++

  • 1. Nombre:Santiago René Sarmiento Sotomayor Docente:Ing.Daniel Irene Tema: Método de Intercambio o de Burbuja. Consiste en evaluar pares de elementos contiguos del arreglo, y si el primero es mayor que el siguiente los intercambia, según la condición. Todo sucede dentro de dos ciclos (for) que recorren el arreglo. El ciclo más interno realiza las comparaciones, y es ahí donde el elemento mayor ocupara una posición mayor. Formas de Método Burbuja: Comparando primer elemento con el segundo, luego segundo con tercero y sucesivamente. for(i=1;i<Nelementos;i++) { for (j=0;j<=Nelementos-1 ;j++) { if (array[j] > array[j+1]) { Aux=array[j]; array[j]=array[j+1]; array[j+1]=Aux; } } } Comparando primer elemento con todos los demás restantes, y luego el segundo con todos los elementos restantes, así sucesivamente. El algoritmo se puede diseñar para que ordene un vector de forma ascendente como también descendentemente. for (i = 0; i <Nelementos; i++) { for (intj = i +1; j <Nelementos; j++) { if (array[i] > array[j]) { Aux = array[i]; array[i] = array[j]; array[j] = Aux; } } }
  • 2. Ejemplo:Ordenar ascendentemente el siguiente vector. A=[5, 3, 7, 1](Corrida manual) Primer array A=[5, 3, 7, 1] Array ordenado de forma ascendente A=[1, 3, 5, 7] Métodos Directos de Ordenamiento de un Array o Vector. Burbuja. Inserción Directa. Consiste en insertar un elemento en el vector y comenzar de nuevo con los elementos restantes. Ejemplo: ordenar el elemento 7. Insertaremos el elemento numero 8 saltando por los elementos 6 y 7. Selección. 1. Seleccionar el menor elemento del vector de n elementos. 2. Intercambia dicho elemento con el primero. 3. Se repiten esas operaciones con n-1 elementos restantes, se selecciona el segundo y continuamos con n-2, así sucesivamente hasta que solo quede el mayor. Referencia: http://www.nachocabanes.com/tutors/salvadorPozo-Cpp.pdf http://webdelprofesor.ula.ve/ingenieria/eliana/prog/Vectores.pdf Pasos Condiciónfor(j=0;j<limite;j++) { for(i=0;i<limite;i++) If(A[i]>A[i+1]) intercambia } Array (limite=3) A=[5, 3, 7, 1] 1 5 > 3 A=[3, 5, 7, 1] 2 5 < 7 A=[3, 5, 7, 1] 3 7 > 1 A=[3, 5, 1, 7] Vuelvo a comparar desde A[0] 4 3 < 5 A=[3, 5, 1, 7] 5 5 > 1 A=[3, 1, 5, 7] 6 5 > 7 A=[3, 1, 5, 7] Vuelvo a A[0] 7 3 > 1 A=[1, 3, 5, 7] Fin Procedimiento
  • 3. EJEMPLO: Usar método burbuja para ordenar el array creado aleatoriamente. Metodo_Burbuja.cpp #include <iostream> #include <time.h> #include <cstdlib> #include <windows.h> #define length(x) (sizeof(x)/sizeof(x[0])) using namespace std; void cambio(int&a, int&b); void ordenar_burbuja(intarreglo[], intlimite); void mostrar_array(intarreglo[], intlimite); int main() { intlim=0; cout<<"Ingrese el limite del array unidimensional"<<endl; cin>>lim; int array[lim]; srand(time(NULL)); cout<<"n"<<"Primer array"<<endl<<"A=["; for (int i=0; i<lim;i++)//crea un array con numeros aleatorios array[i]=1+rand()%29; mostrar_array(array,lim); cout<<" ]"<<"nn"<<"Array ordenado"<<"n"<<"A=["; ordenar_burbuja(array,lim); mostrar_array(array,lim); cout<<" ]"; system("pause>null"); return 0; } voidordenar_burbuja(intarreglo[], intlimite)//Comparasusecivamente. { for (int i=0;i<limite-1;i++) for (int j=0;j<limite-1;j++) if(arreglo[j] > arreglo[j+1]) cambio(arreglo[j],arreglo[j+1]); } void cambio(int&a, int&b)//Paso por referencia de valor de un elemento { int aux=b; b=a; a=aux; } void mostrar_array(intarreglo[], intlimite) { for (int i=0; i<limite;i++) cout<<" "<<arreglo[i]; } El código fuente está diseñado para que comprare cada uno de los elementos con el que le sigue, de esa forma sucesivamente hasta terminar el proceso.