Delphi - Ordenacion de un arreglo

 
Vista:

Ordenacion de un arreglo

Publicado por betinius (66 intervenciones) el 04/10/2005 23:43:46
Hola, quiero capturar numeros en un arrglo mediante un edit, luego ordenarlos con el metodo de la burbuja, lo he intentado pero no me sale, lo que ya me quedo es la asignacion del arreglo, queda mas o menos asi
n:=n+1;
if n=5 then
showmessage('El arreglo esta lleno')
else
begin
numeros[n]:=strtoint(edit1.text);
edit1.text:='';
edit1.setfocus;
end;
Quiero otro boton donde al presionarlo se muestre en un listbox pero ya ordenados. ojala me ayuden
Gracias
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:Ordenacion de un arreglo

Publicado por Dr Juzam (821 intervenciones) el 05/10/2005 00:53:23
En los ejemplos de Delphi que se instalan con él vienen ejemplos de métodos de ordenación (al menos en D6). No me ha quedado muy claro si el problema lo tienes con el código de ordenación o con introducir los datos en el array.
Si nos das más datos podremos ayudarte. Suerte.
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

Es el ordenamiento

Publicado por betinius (66 intervenciones) el 05/10/2005 23:06:36
Gracias por contestar, mira con agregar los numeros a arreglo nohay bronca, ni como mostrarlos, el problema es unicamente para ordenarlos. por ejempo
si tengo un arreglo llamado numeros con los sig. valores

numeros[0]:=10;
numeros[1]:=5;
numeros[2]:=20;
numeros[3]:=4;

Como hago para ordenarlos
Por cierto trabajo con Delphi 5 no se si ahi vengan los ejemplos

Gracias
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:Es el ordenamiento

Publicado por Dr Juzam (821 intervenciones) el 05/10/2005 23:56:39
En esta página http://www.clubdelphi.com/foros/printthread.php?t=17754
alguien colocó el código del método de ordenación burbuja (no lo he revisado, pero imagin que funciona). De todas maneras, en Google imagino que podrás encontrar muchos ejemplos de lo mismo en Delphi.

Un saludo.
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:Es el ordenamiento

Publicado por Cuervo (262 intervenciones) el 06/10/2005 00:33:36
Puedes usar un algoritmo muy conocido; shell sort
aun que hay varios algoritmos por ej. bubble(burbuja), quick,Shake, etc
yo te recomiendo este, es con el que mejor me apañé siempre

var
numeros: array[0..4] of integer;
begin
numeros[0]:=10;
numeros[1]:=5;
numeros[2]:=20;
numeros[3]:=4;
sortshell(numeros);

// Autor: Donald Shell 1959
Procedure SortShell(var arreglo: array of integer);
var
bis, i, j, k: LongInt;
h: Word;
begin
bis := High(arreglo);
k := bis shr 1;
while k > 0 do
begin
for i := 0 to bis - k do
begin
j := i;
while (j >= 0) and (arreglo[j] > arreglo[j + k]) do
begin
h := arreglo[j];
arreglo[j] := arreglo[j + k];
arreglo[j + k] := h;
if j > k then
Dec(j, k)
else
j := 0;
end;
end;
k := k shr 1;
end;

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