AGB  ·  Datenschutz  ·  Impressum  







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

Mergesort

Ein Thema von sveno2k5 · begonnen am 24. Jan 2005 · letzter Beitrag vom 24. Jan 2005
 
sveno2k5

Registriert seit: 24. Jan 2005
7 Beiträge
 
#1

Mergesort

  Alt 24. Jan 2005, 19:09
Hallo.

Habe versucht den mergesort zu programmieren, aber es klappt nicht. Eine und 2 Zahlen sortiert er noch korrekt, aber sobald die Gröse der zu sortierenden Zahlen grösser als 2 ist bricht Delphi ab. Weiss jemand woran das liegt?

Delphi-Quellcode:
procedure TFrmbubble.btmergeClick(Sender: TObject);
var zeit, start: integer;
    cursor: TCursor;
begin
 cursor := screen.Cursor;
 Screen.Cursor := crHourGlass;
 try
  start := 1;
  sortfeld := zufallsfeld;
  starte_zeit(Zeit);
  merge_sort(start,anzahl);
  stoppe_zeit(Zeit);
  anzahl := SpEdAnzahl.Value;
  kopieresortfeldzustrgrd;
  lbmsmerge.caption := inttostr(Zeit);
 finally
 Screen.Cursor := cursor;
 end;
end;
Delphi-Quellcode:
procedure merge_sort(anfang, ende: integer);
var hilfsfeld: TFeld;
    i,x,y,mitte, mitterechts: integer;
begin
 IF ende > anfang THEN
 begin
  mitte := (anfang + ende) DIV 2;
  mitterechts := mitte + 1;

  merge_sort(anfang,mitte);

  merge_sort(mitterechts,ende);

  x := anfang;
  y := mitterechts;
  FOR i := Anfang TO ende DO
  begin
   IF sortfeld[x] < sortfeld[y] THEN
   begin
    hilfsfeld[i] := sortfeld[x];
    sortfeld[x] := 1001;
    IF x < mitte THEN inc(x);
   end ELSE
   begin
    hilfsfeld[i] := sortfeld[y];
    sortfeld[y] := 1001;
    IF y < ende THEN inc(y);
   end;
  end;
  FOR i := anfang TO ende DO
   sortfeld[i] := hilfsfeld[i];
 end;
end;
Gruss Sven
  Mit Zitat antworten Zitat
 


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 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz