AGB  ·  Datenschutz  ·  Impressum  







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

Listenobjekte sortieren

Ein Thema von schuetzejanett · begonnen am 17. Jan 2007 · letzter Beitrag vom 4. Dez 2008
 
schuetzejanett

Registriert seit: 5. Apr 2006
Ort: Fraureuth
62 Beiträge
 
#1

Listenobjekte sortieren

  Alt 17. Jan 2007, 21:35
hallo,

ich habe eine Klasse Playercollection die Player in einer liste speichert
Eine eigenschaft der Klasse Player ist der integerwert score.
Nun wollte ich die einzelnen Spieler nach den Punkten(score) sortieren.

Dafür habe ich gedacht ich speichere die Player in einem array und wende auf dieses array ein sortierverfahren an.

Allerdings komme ich nun etwas durcheinander, wenn ich den quicksort anwende da ich immernur die punkte ändere aber nicht die player genau.
Wie sortiere ich also die punkte und nicht nur den punktestand?

Delphi-Quellcode:
procedure TPlayerCollection.SortScores(var field : Array of TPlayer) ;
var i : integer;
begin
  getField(field); //feld änhält Playerobjekte
  quicksort(field, 0, self.Count-1);
end;

procedure TPlayerCollection.quicksort(var Field: array of TPlayer; ilow,
  ihigh: integer);
var
   Low, High, Mid, T: Integer;
 begin
   Low := iLow;
   High := iHigh;
   Mid := Field[(Low + High) div 2].score;
   repeat
     while Field[Low].score < Mid do Inc(Low);
     while Field[High].score > Mid do Dec(High);
     if (Low <= High) then
     begin
       T := Field[Low].score;
       Field[Low].score := Field[High].score;
       Field[High].score := T;
       Inc(Low);
       Dec(High);
     end;
   until Low > High;
   if High > iLow then QuickSort(Field, iLow, High);
   if Low < iHigh then QuickSort(Field, Low, iHigh);
end;
oder würdet ihr mir ein anderes Suchverfahren empfeheln, da es sich um höchstens 10 Playerobjekte handelt die sortiert werden müssten.
  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 01:09 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 by Thomas Breitkreuz