题目要求只能用递归函数来实现,不能用其他数据结构(这里如果连vector都不能用的话,那就直接用定义数组了)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void reStack(vector<int>& , int, int);
int main(){
int N;
cin >> N;
vector<int> arr(N, 0);
for(int i = 0; i < N; ++i){
cin >> arr[i];
}
reStack(arr, 0, N-1);
for(auto num : arr){
cout << num << ' ';
}
/*这里因为系统不会计算你多输出空格,但是如果实际上应该考虑空格输出个数
for(int i = 0; i < N; ++i){
cout << num ;
if(i < N - 1)
cout << ' ';
}
*/
return 0;
}
void reStack(vector<int>& arr, int start, int end){
if(start >= end)
return;
swap(arr[start], arr[end]);
reStack(arr, start+1, end-1);
} 
京公网安备 11010502036488号