酷代码 AI
菜单
服务商

#include<bits/stdc++.h> using namespace std; int main(){ int MAXN=10010; int n,r[MAXN],a[MAXN]; cin>>n; for(int i=1; i<=n; i++){ cin>>r[i]; } for(int i=1; i<=n; i++){ cin>>a[i]; } for(int i=1; i<=n; i++){ if(i>1){ cout<<" "; } cout<<a[r[i]]; } cout<<endl; return 0; } 用语言描述上述代码

这段C++代码实现了一个简单的数据重排功能。 代码开头包含了万能头文件 `<bits/stdc++.h>`,并使用了标准命名空间 `std`。 在 `main` 函数中,首先定义了一个常量 `MAXN` 为 `10010`,用于后续数组的大小。接着定义了整数 `n` 以及两个数组 `r` 和 `a`,`n` 用于存储输入数据的数量,数组 `r` 和 `a` 分别用于存储索引数据和待重排的数据。 通过 `cin` 读取一个整数 `n`,它代表了后续输入的元素个数。 接下来有两个 `for` 循环,第一个 `for` 循环从 `1` 到 `n` 遍历,通过 `cin` 依次读取 `n` 个整数存入数组 `r` 中,这些整数作为索引使用。第二个 `for` 循环同样从 `1` 到 `n` 遍历,通过 `cin` 依次读取 `n` 个整数存入数组 `a` 中,这些是原始数据。 然后又有一个 `for` 循环,同样从 `1` 到 `n` 遍历,对于每次循环,如果当前不是第一次循环(即 `i > 1`),则先输出一个空格,之后输出 `a[r[i]]` 的值,也就是根据数组 `r` 中的索引,从数组 `a` 中取出对应元素并输出。这样就完成了数据的重排输出。 最后输出一个换行符,并返回 `0` 表示程序正常结束。 整体而言,该代码的功能是根据输入的索引数组 `r` 对数组 `a` 中的元素进行重排并输出。 [2025-11-16 19:29:03 | AI问答 | 387点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多