我正在尝试为类中的项目处理问题,我们的数据结构和方法已经预定义了。我的工作是实现一些使用这些模板的功能。
例如,我应该创建一个follow函数,这样做:如果follows(q)
q = {"h", "e", "l", "l", "o", "w", "r"}
和q
类型为ArrayQueue
,它将创建一个ArrayMap
,它将一个队列值保存为一个键,并将一组值保存在该队列值旁边。
如果我查看地图内部,它将如下所示:
Key -> Set Containing the Values
h -> set[e]
e -> set[l]
l -> set[l, o]
o -> set[w]
w -> set[r]
现在,我应该使用此模板签名来实现此功能:
template<class T>
ics::ArrayMap<T,ics::ArraySet<T>> follows (const ics::ArrayQueue<T>& q)
{
}
虽然我理解如何执行此操作背后的一般逻辑,但我确实需要一件事:能够访问并更新返回的ArrayMap
中的第二个参数,即ics::ArraySet<T>
那么我如何将此ArraySet
称为变量来进行修改?
答案 0 :(得分:0)
根据您的描述,听起来您应该能够执行以下操作:
ics::ArraySet<T>& followers = the_array_map[x];
假设您有一个变量the_array_map
,它包含您正在构建的跟随者映射(并从函数返回)。
现在,您可以通过向其添加所需元素来更新followers
。