酷代码 AI
菜单
服务商

C++ 实现查找指定数字在数组中位置,附代码详解与复杂度分析

```cpp #include <iostream> using namespace std; int main() { int n, x; cin >> n; int a[1000]; for (int i = 0; i < n; i++) { cin >> a[i]; } cin >> x; bool first = true; for (int i = 0; i < n; i++) { if (a[i] == x) { if (!first) { cout << " "; } cout << i + 1; first = false; } } return 0; } ``` 代码解释 1. 输入处理: - 首先读取一个正整数 `n`,它代表正整数的数量。 - 接着使用 `for` 循环读取 `n` 个正整数,并将它们存储在数组 `a` 中。 - 最后读取指定的数字 `x`。 2. 查找匹配元素: - 使用 `for` 循环遍历数组 `a`。 - 对于数组中的每个元素,如果它等于 `x`,则输出该元素在数组中的位置(注意位置从 1 开始,所以输出 `i + 1`)。 - 为了保证输出的数之间用一个空格隔开,使用 `first` 布尔变量来标记是否是第一个匹配的元素。如果不是第一个匹配元素,先输出一个空格,再输出当前匹配元素的位置。 复杂度分析 - 时间复杂度:$O(n)$,因为只需要对数组进行一次遍历。 - 空间复杂度:$O(n)$,主要用于存储输入的 `n` 个正整数。 ######[AI问答 | 402点数解答 | 2025-12-12 20:20:00]

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