微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不使用函数打印反向元素

如何解决不使用函数打印反向元素

每当我尝试制作显示功能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 举报,一经查实,本站将立刻删除。