Einzelnen Beitrag anzeigen

Benutzerbild von whiteshark
whiteshark

Registriert seit: 4. Dez 2003
Ort: Cottbus
222 Beiträge
 
Delphi 2005 Personal
 
#1

Probleme mit Mergesort

  Alt 9. Mär 2006, 20:12
Hallo Leute,

ich habe mich mal an eine Mergesort-Implementierung gemacht, aber es kommt immer ein Stackoverflow!

Delphi-Quellcode:
procedure SortierenMisch(links,rechts:integer);
var mitte,j,i,k : integer;
begin
  if links < rechts then
  begin
   mitte :=(links+rechts) div 2; // mitte ermitteln
   SortierenMisch(links,mitte); // rek. Aufruf (linke Liste)
   SortierenMisch(mitte+1,rechts); // rek. Aufruf (rechte Liste)
   Mischen(links,mitte,rechts);

end; //of then
end; //MischSort
Delphi-Quellcode:
var j,i,k,s,ir,l : Integer;
Begin
j:=mitte+1;
i:=links;
k:=links;
 While (i<=mitte) and (j<=rechts) do
  Begin
   if (Mergefeld[i] <= Mergefeld[j]) then
    Begin
     hilfarray[k]:=Mergefeld[i];
     inc(i);
    end
   else
    Begin
     hilfarray[k]:=Mergefeld[j];
     inc(j);
    end;
   k:=k+1
  end;
 if i>mitte then
  For s:=j to rechts do
    hilfarray[k]:=Mergefeld[s]
 else
  For ir:=i to mitte do
    hilfarray[k]:=Mergefeld[ir];
 For l:=links to rechts do Mergefeld[l]:=hilfarray[l];
end;
Wo liegt das Problem?
Men are born ignorant, not stupid; they are made stupid by education. - Bertrand Russell

I cannot teach anybody anything, i can only make them think. - Socrates
  Mit Zitat antworten Zitat