返回最大值的索引

建议零售价

我写了以下内容来获取最大数字的索引值。

int TravellingSalesMan::getMaximum(double *arr){
    double temp = arr[0];
    int iterator = 0;
    for(int i = 0; i < 30; i++){
        if(arr[i] > temp){
            iterator = i;
        }
    }
    return iterator;
}

但是输出不断进入条件语句并不断打印出 29。我不知道为什么会发生这种情况

我也尝试使用 max_element() 但没有运气

编辑

上面的函数调用如下

static unsigned int chromosome = 30;
double value[chromosome]

for(int i = 0; i < chromosomes; i++){
    value[i] = estimateFitness(currPopultaion[i]);
}
int best = 0;
best = getMaximum(value);
cout<<best<<endl; // this just prints out 29
考希克NP

好吧,本来不打算写答案的,只是看到代码逻辑错误太多,评论区写不下去了!

  • 首先,你对变量名的使用iterator是非常错误的。它不用于对列表进行迭代。为什么要制造混乱。最好使用类似的max_index东西。

  • 为什么从i=0你的临时值是arr[0],所以没有用。再次检查第一个元素。从 i=1 开始!

  • temp在那个函数中毫无意义。最大索引最初应该是0,并设置为i如果有一些arr[i]大于arr[max_index]

  • 将长度单独传递给函数是更好的编码,因为它使代码更清晰。

  • 中的内容arr没有被修改,因此比抱歉更安全:制作指针const


重新编写代码,应该是:

int TravellingSalesMan::getMaximum(const double *arr,int len)
{
    int max_index = 0;
    for(int i = 1; i < len; i++)
    {
        if(arr[i] > arr[max_index])
            max_index = i;
    }
    return max_index;
}

值得注意的是,上面的代码中,leni, 和函数结果应该都是无符号整数类型。没有理由允许有符号整数索引,因此如果调用者通过硬指定unsigned或仅size_t作为索引变量类型这样做,则使其成为来自调用者的警告条件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL返回每个组的最大值

来自分类Dev

索引numpy矩阵的最大值

来自分类Dev

从SQL选择中返回最大值

来自分类Dev

QueryDSL返回最大值

来自分类Dev

返回数组中最大值的索引

来自分类Dev

MongoDB查找并全部返回最大值

来自分类Dev

返回表示每个组中最大值的索引的一系列数字位置

来自分类Dev

返回所有行具有最大值的列索引(反向一键编码)

来自分类Dev

返回数组javascript的最大值

来自分类Dev

返回每组最大值的行

来自分类Dev

返回数组索引k处的整数最大值

来自分类Dev

数组最大值的索引

来自分类Dev

在javascript对象中返回最大值

来自分类Dev

如何返回范围内最大值的相应索引?

来自分类Dev

如何以最大值返回多行

来自分类Dev

返回所有组的最大值?

来自分类Dev

Max()函数不返回最大值

来自分类Dev

列表及其索引的最大值

来自分类Dev

Oracle SQL:仅返回最大值

来自分类Dev

返回数组中最大值的索引

来自分类Dev

多重数组最大值的索引

来自分类Dev

如何使用python从数组中返回最大值索引?

来自分类Dev

查找对应于最大值的索引

来自分类Dev

如何返回最大值的对应日期

来自分类Dev

从多维数组 (ndarray) 返回最大值

来自分类Dev

列表最大值的索引

来自分类Dev

R:每行最大值对应的索引

来自分类Dev

具有索引/匹配公式的 Max 函数不返回最大值

来自分类Dev

使用 JavaScript 返回 3 维数组中最大值的索引