Pascal/Turbo Pascal - metodo burbuja

 
Vista:

metodo burbuja

Publicado por mauricio baeza (14 intervenciones) el 21/06/2006 22:13:54
hola

alguien me podria dar una breve introduccion de lo que es el metodo burbuja
desde ya muxa grasias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:metodo burbuja

Publicado por Diego Romero (996 intervenciones) el 22/06/2006 11:19:08
El método burbuja es un algoritmo de ordenación que se basa en tomar un elemento del conjunto y compararlo con todos los demás y luego asignare la posición "correcta" en el orden deseado. Luego repetir este mismo procedimiento con todos los elementos del conjunto. Cuando ya no queden elementos por ordenar se espera encontrar el conjunto completamente ordenado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:metodo burbuja

Publicado por Mario De León (2 intervenciones) el 23/06/2006 17:51:42
Muy buena respuesta, pero quisiera corregir a mi parecer que la comparación no se hace con "todos" los elementos, sino con el anterior, y si es mayor se intercambian, por eso los valores mayores van subiendo de posición en cada vez que se repasa el conjunto, y a esto se debe su nombre burbuja, ya que suben como burbujas, cuando ya no hayan cambios de posiciones, entonces el conjunto está arreglado.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:metodo burbuja

Publicado por MAURICIO BAEZA (14 intervenciones) el 23/06/2006 19:55:02
program orden (INPUT,OUTPUT);
uses crt;
type
areglo= array[1..10] of integer;
var
v:areglo;
MAX,CONT,CONT2,X,i,O:integer;
begin
clrscr;
writeln('ingrese 10 numeros');
for i := 1 to 10 do

read(v[i]);

CLRSCR;
writeln('ingrese la opcion deseada');
writeln('1 .- PARA ORDENAR EN FORMA CRESIENTE ');
WRITELN('2.- PARA ORDENAR EN FORMA DECRESIENTE');
READ(O);
WHILE (O>2) OR (O<1) DO
BEGIN
CLRSCR;
writeln('');
WRITELN(' **********ERROR**********');
writeln('1.- para cresiente');
writeln('2.- para decresiente');
writeln('');
writeln('');
WRITELN('INGRESE UNA DE LAS OPCIONES ANTERIORMENTE MENCIONADAS');
READ(O);
clrscr;
END;
FOR I := 1 TO 10 DO
BEGIN
MAX:=0;
x:=v[i];
CONT:=I;
WHILE CONT<= 10 DO
BEGIN
IF V[CONT] > MAX THEN
BEGIN
MAX:=V[CONT];
CONT2:=CONT;
END;
CONT:=CONT+1;
END;
V[I]:=MAX;
V[CONT2]:=X;
END;

IF O=1 THEN
BEGIN
CLRSCR;
writeln('ORDEN FORMA CRECIENTE');
for i:= 10 DOWNto 1 do
WRITELN(v[i]);
END;
IF O=2 THEN
BEGIN
CLRSCR;
WRITELN('ORDEN EN FORMA DECRECIENTE');
for i:= 1 to 10 do
WRITELN(v[i]);
END;
READKEY;
CLRSCR;
READKEY;
WRITELN('');
WRITELN('') ;
WRITELN('CRADO POR MAURICIO BAEZA AND');
WRITELN('GUILLERMO PAREDES ');
WRITELN('PRESIONE ENTER PARA TERMINAR');
READKEY;
CLRSCR;
WRITELN('CUALQUIER DUDA ,CONSULTA , SUGERENCIA O RECLAMO A:');
WRITELN('[email protected] à [email protected]');
READKEY;
WRITELN('GRACIAS POR TRABAJAR CON BETA CORPORI LTDA.')
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar