酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++实现选择排序中查找最大值下标

根据题目要求,我们需要在给定数组中找出最大元素的下标(下标从1开始)。若存在多个最大值,选择排序通常选择第一个最大值(即最靠前的下标),但题目未明确说明,通常实现时选择第一个遇到的最大值即可。 以下是C++实现: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } int maxIndex = 0; for (int i = 1; i < n; ++i) { if (a[i] > a[maxIndex]) { maxIndex = i; } } cout << maxIndex + 1 << endl; // 输出下标从1开始 return 0; } ``` **代码说明**: - 使用向量存储输入数据,`maxIndex` 记录当前最大值的索引(从0开始)。 - 遍历数组,若找到比当前最大值更大的元素,更新 `maxIndex`。 - 若遇到相等元素,保持原索引,确保输出第一个最大值的位置。 - 输出时加1转换为题目要求的1-based下标。 **示例**: 输入: ``` 5 3 8 2 8 1 ``` 输出: ``` 2 ``` (第一个最大值8出现在下标2) **复杂度**:时间复杂度O(n),空间复杂度O(n),符合题目要求。 ######[AI问答 | 333点数解答 | 2026-08-20 22:05:52]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]