回答
你通过数组必须循环,寻找所需的值,例如:
function TMyClass.GetMinValue: Integer;
var
Idx: Integer;
begin
Result := MyArray[Low(MyArray)];
for Idx := Low(MyArray)+1 to High(MyArray) do
begin
if MyArray[Idx] < Result then
Result := MyArray[Idx];
end;
end;
function TMyClass.GetMaxValue: Integer;
var
Idx: Integer;
begin
Result := MyArray[Low(MyArray)];
for Idx := Low(MyArray)+1 to High(MyArray) do
begin
if MyArray[Idx] > Result then
Result := MyArray[Idx];
end;
end;
最简单的方法是使用执行此内置功能服务。它们被称为MinIntValue
和MaxIntValue
,可以在数学单元中找到它们。
uses
Math;
....
TheMin := MinIntValue(TheArray);
TheMax := MaxIntValue(TheArray);
我正在使用动态数组。是否有任何函数可以帮助我处理它,因为我遇到了不兼容的类型错误 –
我描述了使用整数动态数组处理的函数。你的阵列是什么类型? –
我正在使用单独对象的动态数组。所以我得到的错误'不兼容的类型整数和TObject' –
有在单位数学的函数重载此:
function MinValue(const Data: array of Single): Single; overload;
function MinValue(const Data: array of Double): Double; overload;
function MinValue(const Data: array of Extended): Extended; overload;
function MinIntValue(const Data: array of Integer): Integer;
function MaxValue(const Data: array of Single): Single; overload;
function MaxValue(const Data: array of Double): Double; overload;
function MaxValue(const Data: array of Extended): Extended; overload;
function MaxIntValue(const Data: array of Integer): Integer;
,因为使用的是整数,你应该使用MinIntValue和MaxIntValue
我正在使用动态数组。是否有任何函数可以帮助我处理它,因为我遇到了不兼容的类型错误 –
它可以在一个循环中完成.. 。
function ArrayValRange(somearray: array of integer; var minval: integer; var maxval: integer): boolean;
var
i: integer;
begin
result := false;
if length(somearray) < 1 then
exit;
result := true;
maxval = somearray[ Low(somearray)];
minval = maxval;
for i := Low(somearray)+1 to High(somearray) do
begin
if somearray[i] > maxval then
maxval := somearray[i];
if somearray[i] < minval then
minval := somearray[i];
end;
end;
然后
if ArrayValRange(myarray, min, max) then
begin
//do your thing
end;
任何性能增益都可能因所创建的数组副本而丢失。使其成为常量。 –
- 1. 获取PHP数组中的最小值和最大值
- 2. 获取数组各部分的最小值和最大值
- 3. 获取最小值和最大值
- 4. 数组的最小值和最大值?
- 5. 数组的最大值和最小值
- 6. 如何从数组中提取最大值和最小值?
- 7. 从数组中获取最小值和最大值 - Java
- 8. 从JavaScript数组中获取最大值和最小值
- 9. 从数组中获取最小值和最大值
- 10. JavaScript获取数组的最大值最小值平均值
- 11. 如何获取MongoDB中的子数组的最小/最大值?
- 12. 如何在javascript中获取数组的最小值和最大值
- 13. 如何在javascript中获取数组的最小值和最大值?
- 14. 如何确定3个整数的最大值和最小值
- 15. 如何获取String []数组的最大/最小值?
- 16. 如何获取数组列表中的最小/最大值?
- 17. 如何获取字符串的最小值和最大值?
- 18. 如何获取队列的最小值和最大值?
- 19. 如何获取输入的最小值和最大值angularjs
- 20. 如何获得三维数组的最小值或最大值?
- 21. 如何获得数组的最小值,最大值?
- 22. 获取最小值和最大值组值从多维数组在PHP
- 23. 如何从数组列表中获取最小值和最大值C#
- 24. 如何排序并从数组中获取最小值和最大值?
- 25. 如何在Perl中查找整数数组中的最大值和最小值?
- 26. Python:用于获取最大值和最小值而不使用最大值和最小值函数的程序
- 27. 获取列和其他列值的最小值和最大值
- 28. 如何从jQueryUI Slider中获取最小值和最大值
- 29. 如何打印数组的最大值和最小值?
- 30. 如何找到一个数组的最大值和最小值
上述'MinIntValue'和'MaxIntValue'函数已经在Delphi 7中,所以即使你是对的,你也不必使用这些代码,而是使用这些函数。 – TLama
这种方法的好处在于,如果性能是一个问题,那么它可以合并成一个返回两个函数的函数。 – GrandmasterB