AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Direktes Sortieren mit Straightinsertion
Thema durchsuchen
Ansicht
Themen-Optionen

Direktes Sortieren mit Straightinsertion

Ein Thema von Earendil · begonnen am 10. Nov 2002 · letzter Beitrag vom 10. Nov 2002
Antwort Antwort
Earendil

Registriert seit: 10. Nov 2002
Ort: Konz
1 Beiträge
 
Delphi 5 Enterprise
 
#1

Direktes Sortieren mit Straightinsertion

  Alt 10. Nov 2002, 14:40
Hallo, erstmal sei gesagt dass ich nicht viel Ahnung von Delphi also verflucht mich nicht wenn ich irgendwelchen Unsinn schreibe.

Ich soll mit straightinsertion ein programm schreiben dass ein element sofort wenn ich es hinzufüge in eine liste einordnet. irgendwie soll ich das ganze auch noch mit zeigern machen. also wie ich das mit den zeigern machen soll hab ich so oder so keinen plan von, ich weiß nicht mal wie ich ne zahl direkt einordnen soll. ich bin bisher soweit ein programm zu haben das 10 zahlen die ich per edits einlese per insertion sort sortiert (die schritte lass ich über ein stringgrid ausgeben).

nun: wie kann ich jetzt ein element in die liste einsortieren lassen OHNE diese komplett neu zu sortieren.

und hat jemand ne idee mit den zeigern?

Gruß
Uni

So sieht mein Programm bisher aus:
Code:
procedure TForm1.DoSort1Click(Sender: TObject);
 var
  i : integer; //Zähler
  max : integer; //Maximale Zahlenanzahl
  zs : real; //Zwischenspeicher für ne Zahl
  Feld : array [0..9] of real;
  j: integer;
  x, y : integer; //Zähler für GidAusgabe
begin
 y := 0;
 max := 9;
 for i := 0 to max do
     sorted.Items.Delete(0);
for i := 0 to change.RowCount do
     change.RowCount := change.RowCount - 1;
 for i := 0 to max do
     Feld[i] := StrToInt(unsorted.Items.Strings[i]);

 for x := 0 to 9 do
     change.Cells[x,y] := FloatToStr(Feld[x]);
 change.RowCount := change.RowCount+1;
 inc(y);

 for i := 1 to max do
     begin
       zs := Feld[i];
       j := i-1;
        while (zs < Feld[j]) and (j >= 0) do
             begin
               Feld[j+1] := Feld[j];
               dec(j);

              for x := 0 to 9 do
                 change.Cells[x,y] := FloatToStr(Feld[x]);
              change.RowCount := change.RowCount+1;
              inc (y);

             end;
       Feld[j+1] := zs;
     end;
 for i := 0 to max do
     sorted.Items.Add(FloatToStr(Feld[i]));
 change.RowCount := change.RowCount - 1;
 counter.Text := inttostr(change.RowCount);
end;



procedure TForm1.Hinzufuegen1Click(Sender: TObject);
begin
unsorted.items.add(edit1.text);
unsorted.items.add(edit2.text);
unsorted.items.add(edit3.text);
unsorted.items.add(edit4.text);
unsorted.items.add(edit5.text);
unsorted.items.add(edit6.text);
unsorted.items.add(edit7.text);
unsorted.items.add(edit8.text);
unsorted.items.add(edit9.text);
unsorted.items.add(edit10.text);
end;
Bitte helft mir, ich habe wirklich keinen Plan!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 10. Nov 2002, 14:47
und herzlich willkommen bei uns,

Daniel, unser Gott (Admin) , hat mal ein Tutorial zu Sortierverfahren geschrieben. U.a. hat er auch den Insertion-Algo genauer betrachtet.

Hoffentlich hilft Dir das weiter, ansonsten gibt es noch viel mehr Hilfe.

Hier nachlesen: http://www.delphipraxis.net/viewtopic.php?t=344
Daniel W.
Ich bin nicht zurück, ich tue nur so
  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 16:40 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