Excel Tipps, Tricks, Test und Meinungen!


Apple-Hardware Digital-Foto Digital-Video Elektronik Notebook PC-Hardware PC-Kauftipps PC-Tuning Linux System Netzwerke Novell Windows 2000 Windows 95 Windows 98 Windows ME Windows NT Windows Vista Windows XP Access Apple-Software Backoffice CAD/CAM Corel Excel Linux Lotus PC-Grafik PC-Software Photoshop Powerpoint SQL Star-Office Word ASP C (K&R) C# -.Net C++ Delphi Dreamwaver Flash HTML/CSS Internet Java JavaScript PHP Perl Visual-Basic Webdesign XML Handy / Co. Klassik Computer PC-Allgemein Pocket-PC Sicherheit/Viren Onlinegaming PC-Games Spielekonsolen IE / Outlook NN / Mozilla Opera Fitness Gesundheit Mountainbike Car-HiFi Kfz-Allgemein Kfz-Tuning Motorrad Bücher Haustiere Heimwerken Job Musik Musikprod. Reisen Studium TV / Kino Unterhaltungselektronik
Google-Anzeigen


Hilfe zum Thema: Excel
CombSort - Wir "durchkämmen" das Array
CombSort ist ein sogenannter umhüllender Algorithmus; der eigentliche Sortieralgorithmus ist Bubblesort. Der Name ist abgeleitet von Kamm (engl. Comb), denn CombSort "durchkämmt" das Array mehrfach, wobei immer feinere Kämme zum Einsatz kommen. Dabei werden ähnlich wie bei ShellSort erst weit auseinanderliegende Elemente verglichen und ggf. vertauscht, mit jedem Durchgang wird dann der "Gap" (die "Lücke") verkleinert, so dass irgendwann die unmittelbar nebeneinander liegenden Elemente verglichen werden. Wenn dieser Zustand erreicht ist, ist CombSort identisch mit BubbleSort.
Als ersten Gap wählt man typischerweise die Anzahl der Elemente durch 1,3. Mit jedem äußeren Durchlauf wird dann der Gap erneut durch 1,3 geteilt, so dass irgendwann 1 erreicht wird.
Sobald der Gap 1 ist, könnte man die innere Schleife am Ende immer um eins verkürzen, da spätestens jetzt der jeweils größte Wert entweder gerade dorthin verschoben wurde oder bereits dort stand. In der Praxis bringt das aber nur wenig. Da die Elemente in der Regel schon gut vorsortiert sind, lohnt sich aber auf jeden Fall der Einsatz einer Prüfvariable (bei mir c). Diese wird mit jedem Tausch um eins hochgezählt. Bleibt sie innerhalb eines inneren Durchlaufs auf 0 hat kein Tausch stattgefunden; folglich ist das Array sortiert.
CombSort ist ShellSort wirklich sehr ähnlich (das sieht man auch in der Visualisierung) und es erreicht trotz des internen BubbleSort-Algorithmus auch fast gleich gute Laufzeiten.


      
Sub CombSort(aDaten())
    
Dim x As Long, varTemp, schritt As Long, c As Long
    schritt = 
UBound(aDaten)
    
Do
        c = 0
        
If schritt > 1 Then schritt = Int(schritt / 1.3)
        
For x = 1 To UBound(aDaten) - schritt
            
If aDaten(x) > aDaten(x + schritt) Then
                varTemp = aDaten(x + schritt)
                aDaten(x + schritt) = aDaten(x)
                aDaten(x) = varTemp
                c = c + 1
            
End If
        
Next
    
Loop Until schritt = 1 And c = 0
End Sub 

Code eingefügt mit Syntaxhighlighter 3.0







Excel: CombSort - Wir
Google-Anzeigen


Weitere Informationen zu diesen Themen:   Combsort   Shellsort   Array  
Geschickt von rlx, Do 01.05.2008 2:05

Google-Anzeigen


Warum immer zahlen? Einfach kostenlose Software downloaden:
Kostenlose
Spiele

Kostenlos spielen!
Kostenlose
Fotosoftware

Kostenlose Fotosoftware!
Kostenlose
Terminplaner

Kostenlose Terminplaner!
Kostenlose
3D Simulatoren

Kostenlose 3D-Simulatoren!
Kostenlose
PC-Tools

Kostenlose PC-Utilities!
Kostenlose
Brettspiele

Kostenlose Brettspiele!
Kostenlose
MP3 Tools

Kostenlose MP3-Tools!

Kostenlose Android Apps für Tablet PCs wie dem Galaxy Tab und Xoom
Free android tablet app downloads: Games, Security, Antivirus, Filemanager for your Tab.
Kostenlose Software-Grundausstattung für Windows-PCs Kostenlose Software-Vollausstattung für Windows-PCs
Kostenlos spielen - Spiele Downloads ohne Limits

cs
es
fr
it
no
pl
pt
tl
tr
ru

Spotlight.de distanziert sich ausdrücklich von im Forum eingestellten Fremdinhalten jeglicher Art.


Kostenlose
Antiviren-
software!
Kostenlose Antivirensoftware!


Kostenlose
Spiele!
Kostenlose Spiele!


Android
Apps für
Tablet-PCs!
Andriod Tablet Apps z. B. für Samsung Galaxy Tab


Kostenlose
3D-
Simulatoren!
Kostenlose 3D-Simulatoren!


Kostenlose
PC-Utilities!
Kostenlose PC-Utilities!


Kostenlose
Terminplaner!
Kostenlose Terminplaner!


Kostenlose
Grafik-
software!
Kostenlose Grafiksoftware!