问题描述
每当我尝试制作显示功能void display(vector<int> ivec)
它应该在实现反向函数后向我打印反向矢量元素,但事实并非如此,但是当我尝试打印到反向函数内的元素时,它正在向我打印反向元素,为什么会这样?
代码:-
#include<iostream>
#include<vector>
using std::cout;
using std::cin;
using std::endl;
using std::vector;
void reversefun(vector<int>ivec,int start,int end){
while(start < end){ //
int temp= ivec[start];
ivec[start] = ivec[end];
ivec[end] = temp;
start++;
end--;
}
}
void display(vector<int> ivec){
for(int i = 0; i <ivec.size(); i ++){
cout<< ivec[i] << " " ;
}
}
int main(){
int n;
cin>>n;
vector<int> ivec(n);
for(auto &i: ivec){
cin>>i;
}
int start = 0;
int end = ivec.size();
reversefun(ivec,start,end-1);
display(ivec);
return 0;
}
输出:-
5
1 2 3 4 5
1 2 3 4 5
预期输出:-
5
1 2 3 4 5
5 4 3 2 1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)