首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于copy_backward算法的有关问题

2012-02-06 
关于copy_backward算法的问题想用copy_backward算法把数组a里的内容反向存到向量c中,intmain(){inta[]{1,

关于copy_backward算法的问题
想用copy_backward算法把数组a里的内容反向存到向量c中,
int   main()
{int     a[]={1,2,3,4,5,6,7,8,9,10};
  vector <int>   c(10);
 
  copy_backward(a,a+10,c.begin());
  copy(c.begin(),c.end(),ostream_iterator <int> (cout, "   "));

  return   0;
}
输出结果应该为:10   9   8   7   6   5   4   3   2   1,可实际上都是0,不知道为什么?

[解决办法]
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
vector <int> vec(10);
copy_backward(arr,arr+10,vec.begin()+10);
copy(vec.begin(),vec.end(),ostream_iterator <int> (cout, " "));
cout < <endl;
system( "PAUSE ");
return 0;
}
//copy_backward只是从后向前copy最后完成的功能和copy是一样的.
[解决办法]
用STL的话,还是应该在手头备一本《STL源码剖析》的
[解决办法]
copy_backward(a,a+10,c.begin()+10);

热点排行