Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: In einem unsortierten array min. und max. herausfinden.

  Alt 16. Mai 2009, 15:25
sehr viel wirst'e da wohl nimmer optimieren können.
da es ja unsortiert ist, wirst du wohl oder übel wirklich jeden Wert einzeln mit Min/Max vergleichen müssen.

ok, wenn der Wert kleiner als der kleinse Wert ist, dann kann er nicht mehr größer sein, so daß man dieses dann übergehen könnte ... macht aber auch nocht sooooo viele aus
Delphi-Quellcode:
min := array[0];
max := array[0];
for i:= 1 to high(array) do
  if array[i] < min then min := array[i]
  else if array[i] > max then max := array[i];
und wenn du nicht weißt, ob das Array nicht eventuell leer sein könnte, dann entweder vorher dieses per IF abfangen
oder alle Arrayzugriffe in die Schleife verlegen
Delphi-Quellcode:
min := MaxValue; // z.B. MaxInt
max := MinValue; // z.B. MinInt
for i:= 0 to high(array) do
  if array[i] < min then min := array[i]
  else if array[i] > max then max := array[i];
statt 0 (meißt beginnt ja fast alles mit 0) könnte man auch zur Sicherheit einfach Low(array) nehmen
$2B or not $2B
  Mit Zitat antworten Zitat