我将如何完成以下任务?
列表 A 是一系列
Foo
s,列表 B 是一系列double
s,表示直到移除列表 A 的第 th 位置的剩余Foo
时间i
。也就是说,如果列表 B 中的双精度数小于零,则列表 A 中与列表 B 中小于零的Foo
双精度数相同的位置从列表 A 中删除,然后小于零的双精度数从列表 B 中删除.
List A:
A B C D E
List B (in seconds):
1.0 0.33 0.0 5.0 0.01
//1 tick of 0.33 seconds
List B:
0.67 0.0 -0.33 4.67 -0.32
//Remove offending List A elements based on state of List B
List A:
A B D
//Remove invalid List B elements
List B:
0.67 0.0 4.67
我正在考虑类似于std::remove_if
List B 的内容,但是如果我这样做,我将如何删除 List A 的项目?可悲的是,不同列表的迭代器不兼容,并且除了使用手动实现之外,没有办法遍历列表并知道每个值的索引。