我有复制多维向量的问题,我已经尝试了很多东西,但是这是最后一个:C++复制多维向量
vector < vector <int> > a;
vector < vector <int> > b;
a.resize(10);
b.resize(10);
a[0][0] = 123;
copy(a.begin(), a.end(), back_inserter(b));
cout << b[0][0];
我试图做一个递归循环计数所有可能的在10个移动中的网格中路由。我试图创建一个名为current_path
的向量,它将保存每次递归的当前路径,当current_path
有10次移动时,它会将数据从current_path
复制到all_paths
。
网格是这样的:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
您只能移动到你从0触及,因此一个正方形,你可以移动到1,4和5和1至3,4,5,6等等。
主要想法是将current_path
复制到下一个函数调用(递归),所以它将保持curren_path
到那一点,直到它满了(10步)。当它从current_path
复制到all_paths
我想我必须删除current_path
?
我知道如何有效地计算所有步骤,但我无法复制current_path
和propably错误,如何在10步时将current_path
添加到all_paths
?
这里的回答类似的问题我回答昨天,只需用数字填充矢量并按照需要的方式更改数字http://stackoverflow.com/questions/13552430/matrix-adjacent-elements-combinations-in-c/13552643#13552643 – hinafu