QList<int>获取次大值位置
时间: 2023-12-07 15:03:17 浏览: 166
Qt中调用函数如何返回多个值的Qt文件
要获取 QList<int> 中的次大值位置,你可以先找到最大值的位置和值,然后再遍历一遍 QList 找到第二大的值及其索引。以下是一个示例代码:
```c++
int maxIndex = 0;
int maxValue = list[0];
for(int i = 1; i < list.size(); i++) {
if(list[i] > maxValue) {
maxValue = list[i];
maxIndex = i;
}
}
int secondMaxIndex = 0;
int secondMaxValue = list[0];
for(int i = 1; i < list.size(); i++) {
if(list[i] > secondMaxValue && i != maxIndex) {
secondMaxValue = list[i];
secondMaxIndex = i;
}
}
// 次大值的位置为 secondMaxIndex
```
请注意,如果 QList 中有多个最大值,则此代码将返回第一个找到的次大值的位置。如果 QList 的大小小于 2,此代码将引发异常。
阅读全文