Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2015
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
Ordenación Quicksort

Poner la ordenación de forma descendente este algoritmo, o quizás mejor, elegir la más conveniente.


Código Delphi [-]
Globales>> iLo, iHi: Integer

Código Delphi [-]
PROCEDURE QUICKSORT(var A: array of Integer; iLo, iHi: Integer) ;

 var
   Lo, Hi, Pivot, T: Integer;

 Begin

   Lo := iLo;
   Hi := iHi;
   Pivot := A[(Lo + Hi) div 2];

   REPEAT
     while A[Lo] < Pivot do Inc(Lo) ;
     while A[Hi] > Pivot do Dec(Hi) ;
     if Lo <= Hi then
     begin
       T := A[Lo];
       A[Lo] := A[Hi];
       A[Hi] := T;
       Inc(Lo) ;
       Dec(Hi) ;
     end;
   UNTIL Lo > Hi;

   if Hi > iLo then QuickSort(A, iLo, Hi) ;
   if Lo < iHi then QuickSort(A, Lo, iHi) ;

 end;

Usage:
Código Delphi [-]
 Var

   intArray : array of integer;

 begin
   SetLength(intArray,10) ;
 
   //Add values to intArray
   intArray[0] := 2007;
   ...
   intArray[9] := 1973;
 
   //sort
   QuickSort(intArray, Low(intArray), High(intArray)) ;

Cómo hacer esto y si se puede mejorar.
Gracias.
Responder Con Cita
  #2  
Antiguo 13-09-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.056
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué problema tienes?
Responder Con Cita
  #3  
Antiguo 13-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola BEPAI.
Cita:
Empezado por BEPAI Ver Mensaje
Poner la ordenación de forma descendente este algoritmo...
Código Delphi [-]
...
    while A[Lo] > Pivot do Inc(Lo);
    while A[Hi] < Pivot do Dec(Hi);
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 15-09-2015
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
Gracias ecfisa,


Código Delphi [-]
PROCEDURE QUICKSORT(var A: array of Integer; iLo, iHi: Integer) ;

 var
   Lo, Hi, Pivot, T: Integer;

 Begin

   Lo := iLo;
   Hi := iHi;
   Pivot := A[(Lo + Hi) div 2];

   REPEAT
     while A[Lo] > Pivot do Inc(Lo) ;
     while A[Hi] < Pivot do Dec(Hi) ;
   
 if Lo <= Hi then
     begin
       T := A[Lo];
       A[Lo] := A[Hi];
       A[Hi] := T;
       Inc(Lo) ;
       Dec(Hi) ;
     end;
   UNTIL Lo > Hi;

   if Hi > iLo then QuickSort(A, iLo, Hi) ;
   if Lo < iHi then QuickSort(A, Lo, iHi) ;

 end;

Casimiro Notevi
Cita:
¿Qué problema tienes?
No entiendo como funciona.
Responder Con Cita
  #5  
Antiguo 15-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola BEPAI.
Cita:
Empezado por BEPAI Ver Mensaje
...

No entiendo como funciona.
Te pongo unos enlaces que explican el funcionamiento:Vas a encontrar muchos mas en la web.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 18-09-2015
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ordenacion de una UNION emeritos SQL 2 22-03-2010 12:37:13
metodo de ordenacion bothy Varios 11 11-03-2010 10:22:51
ordenación DBGRId cmm07 Varios 5 14-04-2009 03:14:44
ordenacion Quicksort Samurai JAVA 1 04-06-2007 23:12:21
Metodos de Ordenamiento. QuickSort vs Burbuja Mejorado Delphius Varios 9 22-07-2005 02:37:50


La franja horaria es GMT +2. Ahora son las 11:54:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi