Monografias | Ordenamiento de arreglos por el Método de la Burbuja Simple. Burbuja Doble y Burbuja TripleOrdenamiento de arreglos por el Método de la Burbuja Simple. Burbuja Doble y Burbuja TripleResumen: El código de este programa está desarrollado en Microsoft Visual C++ 2005. El usuario deberá asignar variables a cada uno de los Edit Control, desde m_a1 hasta m_a11 en los de arriba y desde m_b1 hasta m_b11 en los de abajo. El
código de este programa está desarrollado en Microsoft Visual C++ 2005. El
usuario deberá asignar variables a cada uno de los Edit Control, desde m_a1
hasta m_a11 en los de arriba y desde m_b1 hasta m_b11 en los de abajo. Para
agregar variables se le da clic derecho a cada Edit Control, luego Agregar
variable…, posteriormente en el Asistente para agregar variables miembro en
Categoría se le cambia de Control a Value, y en Tipo de variable se le pone int
para que sean enteros. Luego en Nombre de la variable se le ponen los nombres
como se indicó anteriormente (de m_a1 a m_a11 y de m_b1 a m_b11). Posterior
a ello se le da doble clic a cada uno de los botones en tiempo de diseño y se
agrega el código correspondiente.
ORDENAMIENTO
BURBUJA SIMPLE void
CordenamientoburbujaDlg::OnBnClickedButton1() {
// TODO: Agregue aquí su código de controlador de
notificación de control
#define TAMANIO 10
int vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6}; int
pasadas,elemento,almacena;
UpdateData(TRUE);
m_a1=vector[0];
m_a2=vector[1];
m_a3=vector[2];
m_a4=vector[3];
m_a5=vector[4];
m_a6=vector[5];
m_a7=vector[6];
m_a8=vector[7];
m_a9=vector[8];
m_a10=vector[9];
UpdateData(FALSE); for
(pasadas=1;pasadas<TAMANIO;pasadas++){
for(elemento=0;elemento<TAMANIO-1;elemento++){
if(vector[elemento]>vector[elemento+1]){
almacena=vector[elemento];
vector[elemento]=vector[elemento+1];//Declaración
destructiva.
vector[elemento+1]=almacena;
}
}
}
UpdateData(TRUE);
m_b1=vector[0];
m_b2=vector[1];
m_b3=vector[2];
m_b4=vector[3];
m_b5=vector[4];
m_b6=vector[5];
m_b7=vector[6];
m_b8=vector[7];
m_b9=vector[8];
m_b10=vector[9];
UpdateData(FALSE); } ORDENAMIENTO
BURBUJA DOBLE void
CordenamientoburbujaDlg::OnBnClickedButton2() {
// TODO: Agregue aquí su código de controlador de
notificación de control #define
TAMANIO 10 int
vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6}; int
pasadas,elemento,almacena; UpdateData(TRUE); m_a1=vector[0]; m_a2=vector[1]; m_a3=vector[2]; m_a4=vector[3]; m_a5=vector[4]; m_a6=vector[5]; m_a7=vector[6]; m_a8=vector[7]; m_a9=vector[8]; m_a10=vector[9]; UpdateData(FALSE); for
(pasadas=1;pasadas<TAMANIO/2;pasadas++){
for(elemento=0;elemento<TAMANIO-1;elemento++){
if(vector[elemento]>vector[elemento+1]){
almacena=vector[elemento];
vector[elemento]=vector[elemento+1];
vector[elemento+1]=almacena;
}
if(vector[TAMANIO-(elemento+1)]<vector[TAMANIO-(elemento+2)]){
almacena=vector[TAMANIO-(elemento+1)];
vector[TAMANIO-(elemento+1)]=vector[TAMANIO-(elemento+2)];
vector[TAMANIO-(elemento+2)]=almacena;
}
} } UpdateData(TRUE); m_b1=vector[0]; m_b2=vector[1]; m_b3=vector[2]; m_b4=vector[3]; m_b5=vector[4]; m_b6=vector[5]; m_b7=vector[6]; m_b8=vector[7]; m_b9=vector[8]; m_b10=vector[9]; UpdateData(FALSE); } ORDENAMIENTO
BURBUJA TRIPLE void
CordenamientoburbujaDlg::OnBnClickedButton3() {
// TODO: Agregue aquí su código de controlador de
notificación de control
#define TAMANIO 11
int vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6};
int pasadas,elemento,menor,medio,mayor;
UpdateData(TRUE);
m_a1=vector[0];
m_a2=vector[1];
m_a3=vector[2];
m_a4=vector[3];
m_a5=vector[4];
m_a6=vector[5];
m_a7=vector[6];
m_a8=vector[7];
m_a9=vector[8];
m_a10=vector[9];
UpdateData(FALSE);
for(pasadas=1;pasadas<TAMANIO/2;pasadas++){
for(elemento=0;elemento<(TAMANIO-1)-(pasadas*2);elemento++){
if((vector[elemento]<vector[elemento+1])
&& (vector[elemento]<vector[elemento+2])){//Si
el primer número es el mayor de los 3.
menor=vector[elemento];
if(vector[elemento+1]<vector[elemento+2]){
medio=vector[elemento+1];
mayor=vector[elemento+2];
}
else{
medio=vector[elemento+2];
mayor=vector[elemento+1];
}
}
if((vector[elemento+1]<vector[elemento])
&& (vector[elemento+1]<vector[elemento+2])){//Si
el segundo número es el mayor de los 3.
menor=vector[elemento+1];
if(vector[elemento]<vector[elemento+2]){
medio=vector[elemento];
mayor=vector[elemento+2];
}
else{
medio=vector[elemento+2];
mayor=vector[elemento];
}
}
if((vector[elemento+2]<vector[elemento])
&& (vector[elemento+2]<vector[elemento+1])){//Si
el tercer número es el mayor de los 3.
menor=vector[elemento+2];
if(vector[elemento]<vector[elemento+1]){
medio=vector[elemento];
mayor=vector[elemento+1];
}
else{
medio=vector[elemento+1];
mayor=vector[elemento];
}
}
if((vector[elemento]==vector[elemento+1])
&& (vector[elemento]==vector[elemento+2])){//Caso
de 1,1,1 (tres iguales).
menor=vector[elemento];
medio=vector[elemento+1];
mayor=vector[elemento+2];
}
if((vector[elemento]==vector[elemento+1])
&& (vector[elemento+2]>vector[elemento])){//Caso
de 1,1,2 (dos primeros iguales y tercero mayor).
menor=vector[elemento];
medio=vector[elemento+1];
mayor=vector[elemento+2];
}
if((vector[elemento]==vector[elemento+2])
&& (vector[elemento+1]>vector[elemento])){//Caso
de 1,2,1 (primero y tercero iguales y segundo mayor).
menor=vector[elemento];
medio=vector[elemento+2];
mayor=vector[elemento+1];
}
if((vector[elemento+1]==vector[elemento+2])
&& (vector[elemento]>vector[elemento+1])){//Caso
de 2,1,1 (segundo y tercero iguales y primero mayor).
menor=vector[elemento+1];
medio=vector[elemento+2];
mayor=vector[elemento];
}
vector[elemento]=menor;
vector[elemento+1]=medio;
vector[elemento+2]=mayor;
}
}
UpdateData(TRUE);
m_b1=vector[0];
m_b2=vector[1];
m_b3=vector[2];
m_b4=vector[3];
m_b5=vector[4];
m_b6=vector[5];
m_b7=vector[6];
m_b8=vector[7];
m_b9=vector[8];
m_b10=vector[9];
UpdateData(FALSE); } Autor: Santa
Ana, 5 de marzo de 2007 Publicación enviada por Jaime Oswaldo Montoya Guzmán Contactar mailto:jaimemontoya@gmail.com Código ISPN de la Publicación EEZFEFyEuAdCCMXSKr Publicado Monday 5 de March de 2007 Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal. | |||||||||