AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MergeSort richtig implementieren

Ein Thema von 0815 · begonnen am 13. Sep 2004 · letzter Beitrag vom 9. Jan 2005
Antwort Antwort
0815

Registriert seit: 5. Sep 2004
4 Beiträge
 
#1

MergeSort richtig implementieren

  Alt 13. Sep 2004, 18:20
Hallo!

Ich versuche schon ewig den MergeSort in einem Programm von mir zu benutzen. Aber irgendetwas habe ich scheinbar immer falsch gemacht. Ich möchte im Prinzip nur einen Array mit dem MergeSort sortieren. Hier ein Teil aus meinem Quellcode (den ich auf der DP-Seite gefunden habe):

Delphi-Quellcode:
var
  Form1: TForm1;
  Arr : array of integer;
  HilfsArray: array of integer;

implementation

{$R *.dfm}

Procedure MergeSort( l, r : Integer );
var i, j, k, m : Integer;
Begin
  If (l < r) Then
  Begin
    m:= (r+l) div 2;

    MergeSort( l, m );
    MergeSort( m+1, r );

    For i:= l To m Do HilfsArray[i]:= Data[i];
    i:= l;

    For j:= m+1 To r Do HilfsArray[r+m+1-j]:= Data[j];
    j:= r;

    For k:= l To r Do
    Begin
      If (HilfsArray[i] < HilfsArray[j]) Then
      Begin
        Data[k]:= HilfsArray[i];
        inc( i );
      End
      Else
      Begin
        Data[k]:= HilfsArray[j];
        dec( j );
      End;
    End;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
MergeSort(0,5)
end;
Danke für eure Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: MergeSort richtig implementieren

  Alt 13. Sep 2004, 19:18
Bei den Tutorials dürftest du fündig werden, da gibt es ein Tutorial über Sortieralgorithmen. Deweiteren führt bestiimt auch eine Suche mit Google Bei Google suchendelphi merge sort zum Ziel.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
drav

Registriert seit: 9. Jan 2005
Ort: Essen
1 Beiträge
 
#3

Re: MergeSort richtig implementieren

  Alt 9. Jan 2005, 12:50
der gepastete quellcode von ihm stammt ja aus dem tutorial @luckie!

bei mir funktioniert der code, wenn ich ihn implentiere, auch nicht. könnte evtl. jemand erklären wie der zu implementieren ist? und wieso werden in der prozedur zwei integer-zahlen angegeben (anfangs) - eigentlich müsste da doch ein array angegeben werden, oder nich?

mergesort funktioniert doch so: ein array wird in 2 teile gesplittet, die zwei teile werden sortiert, anschließend zusammengefügt und nochmals sortiert. oder irre ich da?

bitte um hilfe, schreibe donnerstag eine klausur über das thema und wir haben bisher kein einziges mal eine funktionierende anwendung dazu programmiert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz