burbujeando, alguien me da aire??

burbuja
07 de Mayo del 2004
alguien me ayuda con la implementación de :
#include "bubblesort.h"
#include <iostream>
void sort(int* inici,int*q){
while(!done){

for(t=inici;t<inici;++t);
cout<<endl;

}
void swap(int* p,int* q){

}
void dump_array(int* inici,int* fi){
int* q;
for(q=inici;q<fi;++q){
cout<<*q<<" ";
}
cout<<"n";
}

gracias

xnomad
07 de Mayo del 2004
vamos por partes, como dijo jack:

#include "bubblesort.h"
#include <iostream>
void sort(int* inici,int*q){
// empieza un loop infinito porque no se cambia nunca el valor de done, por lo que o no se ejecuta nunca
while(!done){// empieza un loop infinito porque no se cambia nunca el valor de done, por lo que o no se ejecuta nunca o no para de ejecutarse.

for(t=inici;t<inici;++t); // si t=inici y hay que ejecutar mientras sea t<inici, no se ejecuta nunca.
cout<<endl;

} // fin del while como dije antes infinito o nunca ejecutado.

void swap(int* p,int* q){
// no hay código???????????????
}
void dump_array(int* inici,int* fi){ // esta funcion debe funcionar bien
int* q;
for(q=inici;q<fi;++q){
cout<<*q<<" ";
}
cout<<"n";
}

acordate que el metodo de burbujeo se ejecuta hasta que no se hayan hecho cambios.

el pseudocódigo es el siguiente:"

listo:=false
mientras no(listo) hacer
listo:=true
para t desde 0 hasta n-1 hacer
si arreglo[t] > arreglo[t+1} entonces
temporal = arreglo[t]
arreglo[t] = arreglo[t+1]
arreglo[t+1] = temporal
listo:=false;
finsi
finpara
finwhile

solo sale del while cuando el burbujeo haya dejado el arreglo ordenado ascendentemente. Para descendente se comprueba con " <" en lugar de ">".