如何解决不使用函数打印反向元素
每当我尝试制作显示功能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 举报,一经查实,本站将立刻删除。