在编程过程中,我们时常会遇到需要在一维数值数组中查找最大或最小元素的情况。为了更高效地解决这一问题,我们可以使用MQL4编程语言中的ArrayMaximum和ArrayMinimum函数,这两个函数分别用于查找一维数值数组中的最大和最小元素。
- ArrayMaximum 函数
ArrayMaximum函数用于在一维数值数组中搜索最大元素。
int ArrayMaximum(
const void& array[], // 用于搜索的数组
int count=WHOLE_ARRAY, // 检查元素的数量
int start=0 // 开始检查的索引
);
函数参数:
- array[]:数值数组,用于进行搜索。
- count=WHOLE_ARRAY:搜索的元素数量,默认在整个数组中进行搜索。
- start=0:开始检查的索引。
返回值:函数返回找到的元素的索引,考虑到数组序列。若失败,则返回-1。
示例:
void OnStart()
{
double prices[5]={12,23,7,34,45};
int maxPriceIdx=ArrayMaximum(prices,WHOLE_ARRAY,0);
Print("最大值 = ",prices[maxPriceIdx]," 在索引=",maxPriceIdx);
}
- ArrayMinimum 函数
ArrayMinimum函数用于在一维数值数组中搜索最小元素。
int ArrayMinimum(
const void& array[], // 用于搜索的数组
int count=WHOLE_ARRAY, // 检查元素的数量
int start=0 // 开始检查的索引
);
函数参数与ArrayMaximum相同。
返回值:函数返回找到的元素的索引,考虑到数组序列。若失败,则返回-1。
示例:
void OnStart()
{
double temperatures[6]={-5,0,12,-3,8,15};
int minTempIdx=ArrayMinimum(temperatures,WHOLE_ARRAY,0);
Print("最小值 = ",temperatures[minTempIdx]," 在索引=",minTempIdx);
}
总结:通过上述介绍和示例,我们学习了如何使用ArrayMaximum和ArrayMinimum函数在一维数值数组中分别检索最大和最小元素。这两个函数的使用方法相似,均提供了参数来指定搜索的范围和开始的索引,同时也能够处理搜索失败的情况。这些技巧在处理实际编程问题时,能够为我们提供很大的帮助。