whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

38 Visitors Online


 
...sort an Array with the Shell Sort Algorithm?
Autor: Stormer
[ Print tip ]  

Tip Rating (15):  
     


{
 The following procedure sorts an Array with the
 fast Shell-Sort algorithm.
 Invented by Donald Shell in 1959,
 the shell sort is the most efficient of the O(n2)
 class of sorting algorithms
}

{
 Die folgende Prozedur Sortiert ein Array mit
 dem schnellem Shell-Sort Algorithmus.
}

Procedure Sort_Shell(var a: array of Word);
var
  
bis, i, j, k: LongInt;
  h: Word;
begin
  
bis := High(a);
  k := bis shr 1;// div 2
  
while k > 0 do
  begin
    for 
i := 0 to bis - k do
    begin
      
j := i;
      while (j >= 0) and (a[j] > a[j + k]) do
      begin
        
h := a[j];
        a[j] := a[j + k];
        a[j + k] := h;
        if j > k then
          
Dec(j, k)
        else
          
j := 0;
      end// {end while]
    
end// { end for}
    
k := k shr 1; // div 2
  
end;  // {end while}

end;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners