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