Lev*_*viX 2 c++ python iterator list
我想在Python中"包装"C++中的列表/向量.基本上我想将元素从列表末尾切换到列表的开头.我不想明确地制作新的清单.
在Python中我可以写如下:
my_list = [1, 2, 3, 4, 5]
#[1, 2, 3, 4, 5]
q = collections.deque(my_list)
q.rotate(3)
#deque([3, 4, 5, 1, 2])
Run Code Online (Sandbox Code Playgroud)
我在STL看了deque,但是我没有看到任何类似旋转的东西.似乎应该有一个简单的方法来使用迭代器或类似的东西.
Ker*_* SB 11
您正在寻找std::rotate标准库,它提供了一种使用迭代器执行此操作的简便方法.
#include <algorithm>
std::vector<T> v /* = populate() */;
std::rotate(v.begin(), v.begin() + 3, v.end());
Run Code Online (Sandbox Code Playgroud)
可以使用任何前向迭代器,因此这适用于大多数(序列)容器.
| 归档时间: |
|
| 查看次数: |
836 次 |
| 最近记录: |