gpt4 book ai didi

c++ - 在 2D vector 中移动行

转载 作者:行者123 更新时间:2023-11-28 04:06:18 26 4
gpt4 key购买 nike

我有一个像下面这样的 vector :

vector<vector<double>> A;

并且有这样的值:

1,2,3
3,4,5
5,6,7
8,9,6

我想用第 3 步将行向下移动,然后变成下面:

3,4,5
5,6,7
8,9,6
1,2,3

我该怎么做?

最佳答案

std::rotate在外部 vector 上应该可以解决问题:

#include <algorithm> // std::rotate
#include <iterator> // std::next

std::rotate(A.begin(), std::next(A.begin()), A.end());

A.begin() - 返回指向第一个元素的迭代器 - 如果它是空 vector ,则返回 end()

std::next(A.begin()) - 返回指向 vector 中第二个元素的迭代器。

A.end() - 返回指向 vector 中最后一个元素后一步的迭代器。

第一个和最后一个参数(A.begin()A.end())设置了 std::rotate 的边界中间参数告诉它新的第一个元素应该是什么。

关于c++ - 在 2D vector 中移动行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58671632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com