我正在使用下面的代码来反转向量(修改它)。
void revArr(int i, vector<int> arr) {
int n = arr.size();
if (i >= n / 2) return;
swap(arr[i], arr[n-i-1]);
revArr(i + 1, arr);
}
int main() {
vector<int> arr = {2, 13, 5, 26, 87, 65, 73};
revArr(0, arr);
for (auto i: arr) {
cout << i << " ";
}
cout << "" << endl;
return 0;
}
执行后,我在控制台上得到不变的向量:
2 13 5 26 87 65 73
为什么向量没有反转?
提前致谢。