使用递归将数据类型放入数组中
Placing data types into an array using recursion
我有这个函数,它从一个袋子中获取数据(items[],预定义为容纳 6 个项目),并以向量的形式返回。我应该编写该方法的基于递归数组的实现。
template <typename ItemType>
vector<ItemType> ArraySet<ItemType>::toVector() const{
vector<ItemType> setContents;
for(int i = 0; i < itemCount; ++i){
setContents.push_back(items[i]);
}
return setContents;
}
我该怎么做?数据已经在数组中,它只是希望我将数据传输到另一个数组吗?也许我只是想多了,但这个问题确实让我感到困惑。谢谢。
template <typename ItemType>
void ArraySet<ItemType>::toVector( vector<ItemType>& setContents,int item) const{
if( item >= 0 )
{
toVector(setContents,item-1);
setContents.push_back(items[item]);
}
}
template <typename ItemType>
vector<ItemType> ArraySet<ItemType>::toVector() const{
vector<ItemType> setContents;
toVector(setContents,itemCount-1);
return setContents;
}
递归函数需要有一个基本情况,即递归结束的地方。我们想要递归数组的长度,itemCount。这可以用两种方式编写,这里的push_back()
遵循递归调用,因此我们需要以相反的顺序下降。如果它在调用之前,我们最初将从零索引开始。
相关文章:
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 很好的语法来获取对向量/数组数据的大小引用?
- 具有纯虚函数和指针数组对象类型的父类的指针数组
- 数组数据以错误的方式遍历 Python/Matlab
- 访问 Arduino 中的结构数组数据
- 多维数组的类型、名称是什么?
- 在能够从 Web 浏览器访问大型数组数据的同时存储它的最可行方法是什么?
- 共享_ptr中多功能数组的类型是什么
- 在C 类中声明数组数据
- 为什么 std::variant 不能容纳数组对象类型,而联合可以?
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何在 c++ 中将字符串数组数据写入输出文件
- 使用 stl::map 和 stl::unordered_map 对包含大量重复元素的数组数据进行排序
- 检索字符数组数据时出现问题
- 数组的类型无效
- 以符合标准的方式用与数组相同类型的成员重新解释结构
- 共享库的C 访问数组数据
- 从数组的类型中找到元素的类型
- 如何在 c++ 中将字节类型的字符数组数据保存到文件中
- 数组数据类型声明