- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Sortera en array med Shell Sort-algoritmen Kategori: Matematik
Inlagt: 2004-10-09
Läst: 1351
Inlagt av: Staffan Berg
Beskrivning
Shell Sort-algoritmen uppfanns av Donald Shell 1959 och är mycket effektiv. Här följer en demonstration. 
Kod
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;  

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -