AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Liste Sortieren - Gleiche Liste wie bei den anderen Themen
Thema durchsuchen
Ansicht
Themen-Optionen

Liste Sortieren - Gleiche Liste wie bei den anderen Themen

Ein Thema von Schnittcher · begonnen am 7. Sep 2009 · letzter Beitrag vom 8. Sep 2009
Antwort Antwort
Seite 2 von 2     12   
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#11

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 15:47
Hallo,

ist das denn das was ihr meint?

    FList: IInterfaceList; Das ist nämlich meine Liste.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#12

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 16:27
Hallo,

ich habe jetzt eine weitere Information erhalten.

Ich soll das Sortieren mit 2 Schleifen machen.
Schauen ob etwas größer oder kleiner ist und dann ggf. tauschen.

Kann sich jemand darunter etwas vorstellen?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 16:59
Mal so am Rande: Warum um Himmelswillen bastelst du dir eine Liste aus Interfaces zusammen? Mit einer TStringList oder einer eigenen Ableitung von TList wärst du so viel einfacher dran, und hättest die Sortierung einfach frei Haus schon eingebaut (bei TStringList zumindest, bei TList muss man aber auch nur noch eine Vergleichsmethode basteln).
Gibt's irgendetwas speziells was du tust weswegen du über die Interfaces gehts, oder war das "ich kopier mal diesen Code, verstehe ihn nicht, aber immerhin hab ich was, was in etwa so klingt als wär's toll"? Im letzteren Fall: Sowas kommt von sowas.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#14

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 17:07
Hallo,

nein das ist eien Aufgabe die ich bekommen habe.
Aber ich komme nicht weiter.

PS: Ich finde es ne Frechheit sowas zu unterstellen!

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 17:27
.. stell doch mal Deine Aufgabe hier hinein (als pdf)
dann kann man ja schauen ob Du unbedingt mit Interfaces arbeiten musst.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 18:30
Zitat von Schnittcher:
PS: Ich finde es ne Frechheit sowas zu unterstellen!
Aufrichtige Entschuldigung.

Da solche Fälle allerdings hier nicht unbedingt so selten sind wie man es sich wünschen würde und vom Verlauf her diesem Thread hier nicht unähnlich wirken, war der Gedanke zumindest nicht unbegründet. Tut mir leid wenn es hier nun den falschen erwischt hat - nix für ungut.

Der genaue Wortlaut der Aufgabenstellung dürfte hier in der Tat erheblichen Aufschluss geben, weil zumindest ich kann im Moment nicht so ganz erkennen worin das ganze am Ende mal münden soll.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#17

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 7. Sep 2009, 21:26
mmh... Das Sortierverfahren das du brauchst klingt ganz stark nach Bubblesort..
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#18

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 8. Sep 2009, 08:24
Hallo,

nein die Aufgabe habe ich mündlich erhalten, dass ich mit Interfaces arbeiten soll.

Zitat von Medium:
Zitat von Schnittcher:
PS: Ich finde es ne Frechheit sowas zu unterstellen!
Aufrichtige Entschuldigung.

Da solche Fälle allerdings hier nicht unbedingt so selten sind wie man es sich wünschen würde und vom Verlauf her diesem Thread hier nicht unähnlich wirken, war der Gedanke zumindest nicht unbegründet. Tut mir leid wenn es hier nun den falschen erwischt hat - nix für ungut.

Der genaue Wortlaut der Aufgabenstellung dürfte hier in der Tat erheblichen Aufschluss geben, weil zumindest ich kann im Moment nicht so ganz erkennen worin das ganze am Ende mal münden soll.
Schon okay, ich kann dich ja auch verstehen, wenn es hier viele solche Fälle gibt.

Also ich befinde mich in einer Ausbildung und aus diesem Grund will ich auch nicht nur Text kopieren, ich will etwas lernen.

Zitat von Forlan:
mmh... Das Sortierverfahren das du brauchst klingt ganz stark nach Bubblesort..
Das stimmt, ich habe mir das Sortierverfahren auch schon angeschaut, aber leider verstehe ich nicht, wie ich das an meine Aufgabe anpassen soll.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 8. Sep 2009, 09:41
Hallo,

Delphi-Quellcode:

property Count: Integer
property Items[const AIndex: Integer]: IAuto
Also hier wäre erst mal das aCount und das Array-Property

also jetzt mal den BubbleSort so hingeschludert.

Delphi-Quellcode:
var
  i. j: Integer;
  Auto_i: IAuto;
  Auto_j: IAuto;
  Auto_Temp: IAuto;

for i:= 0 to Count-1 do
begin
  for j:= i+1 To Count-1 do
  begin
    Auto_i:= Items[i];
    Auto_j:= Items[j];
    if Auto_j.XXX<Auto_i.XXX then
    begin
      Auto_Temp:= Auto_i;
      Auto_i:= Auto_j;
      Auto_j:= Auto_Temp;
    end;
  end;
end;
Das XXX ist irgendein ein Vergleichskriterium.

Aber auch mir ist schleierhaft, was das soll ?
weder zum Sort-Üben noch zum Interface-Üben geeignet,
weil 2 Sachen gemischt werden


#Update#
Es muss natürlich das < sein
Auto_j.XXX<Auto_i.XXX

Heiko
Heiko
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#20

Re: Liste Sortieren - Gleiche Liste wie bei den anderen Them

  Alt 8. Sep 2009, 09:44
Okay, du hast vermutlich noch nie zuvor eine Sortierung gebaut. Daher mal kleinschrittig:

Wie definiert man "sortiert"? Sortiert ist etwas, wenn Elemente einer Menge entsprechend ihrer ordinalen Rangfolge angeordnet sind. Das heisst für natürliche Zahlen z.B. dass eine 5 immer vor einer 8 stehen muss, eine 12 aber hinter der 8. Das heisst, das aller erste was du brauchst ist ein Weg den Besitzernamen eine Rangfolge zuzuordnen.
Da es sich hier um Text handelt macht eine alphabetische Ordnung wohl am meisten Sinn, so dass A vor B steht - man sagt dann A kleiner B.

Was muss man tun, um zwei Elemente zu sortieren? Simpel: Vergleiche die beiden, und tausche sie gegeneinander aus wenn das erste größer dem zweiten ist. (Für aufsteigende Sortierung. Für absteigend genau anders herum.)
(Wenn du das für jedes Element einer Liste und seinem Nachfolger machst, so lange bis nichts mehr vertauscht wurde, ist das schon Bubblesort.)

Nun bleibt noch die Frage: Wie kann ich in Delphi definieren dass ein Buchstabe kleiner oder größer als ein anderer ist? Das ist ebenfalls sehr einfach, da in so ziemlich allen Zeichentabellen - allen voran die ASCII Tabelle - dem A ein kleinerer Zahlwert zugeordnet ist als dem B. Um nun in Delphi zu fragen ob Zeichen1 kleiner Zeichen2 genügt:
Delphi-Quellcode:
var
  Z1KleinerZ2: Boolean;
  Z1, Z2: Char;
begin
  Z1 := 'A';
  Z2 := 'B';
  Z1KleinerZ2 := Ord(Z1) < Ord(Z2);
end;
Das ganze würde jetzt erst nur einen Buchstaben betrachten. Für ganze Zeichenketten könnte sowas so aussehen:
Delphi-Quellcode:
var
  S1kleinerS2: Boolean;
  S1, S2: String;
  i: Integer;
begin
  S1 := 'Andreas';
  S2 := 'Aaron';
  i := 1;
  while (S1[i]=S2[i]) inc(i);
  S1kleinerS2 := S1[i] < S2[i];
end;
Du schiebst also "i" solange nach "hinten" in deinen Strings, bis ein unterschiedliches Zeichen auftaucht und vergleichst dann diese. Der Codefetzen hier knallt übrigens noch, wenn die beiden Strings unterschiedliche lang sind, und einer der beiden gleich dem anderen ist, nur um Zeichen gekürzt. Das müsstest du dann noch separat behandeln.

Und das sollte schon an Infos ausreichen um zumindest ein einfaches Bubblesort auf Stringbasis zu basteln. Wenn nicht, sag uns doch bitte wo genau dann noch das Problem liegt.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08: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