一、vector反转函数
#include <algorithm> std::reverse(vector.begin(), vector.end());
在C++ STL中,vector类已经提供了反转函数reverse(),使用该函数可以方便地将vector中的元素进行反转。vector反转函数的参数是迭代器类型。
例如:
vector<int> v {1, 2, 3, 4, 5};
std::reverse(v.begin(), v.end());
// 现在v的元素为{5, 4, 3, 2, 1}
二、vector元素反转
std::reverse(vector.begin(), vector.begin() + k); std::reverse(vector.begin() + k, vector.end()); std::reverse(vector.begin(), vector.end());
通过三次vector反转可以实现将前k个元素移到后面。
例如:
vector<int> v {1, 2, 3, 4, 5};
int k = 2;
std::reverse(v.begin(), v.begin() + k);
std::reverse(v.begin() + k, v.end());
std::reverse(v.begin(), v.end());
// 现在v的元素为{3, 4, 5, 1, 2}
三、vector反转拼接
vector<int> v1 {1, 2, 3};
vector<int> v2 {4, 5, 6};
std::reverse(v1.begin(), v1.end());
std::reverse(v2.begin(), v2.end());
v1.insert(v1.end(), v2.begin(), v2.end());
// 现在v1的元素为{3, 2, 1, 6, 5, 4}
如果想将两个vector按照相反的顺序拼接,我们可以将每个vector先进行反转,然后再使用vector的insert函数将第二个vector的元素插入到第一个vector的末尾。
四、Verilog反转一个8位vector
wire [7:0] a;
wire [7:0] b;
always @ (a) begin
    for (int i = 0; i < 8; i++) begin
        b[i] = a[7 - i];
    end
end
在Verilog中,可以使用for循环遍历vector中的所有元素,并使用下标操作符[]获取对应的元素,将其倒序存放到另一个vector中。
五、vector反转数组
template<typename T, size_t N>
void reverse_array(T (&arr)[N]) {
    std::reverse(arr, arr + N);
}
如果想将一个数组反转,可以使用STL的reverse函数。但是,reverse函数需要传入迭代器类型,而数组没有迭代器。因此,我们可以将数组作为函数的参数,并使用模板来确定数组的大小,并将数组名强制转换为迭代器类型即可。
六、vector容器反转
vector<int> v {1, 2, 3, 4, 5};
std::reverse(v.begin(), v.end());
和vector类似,STL中的其他容器,如array、list等也都提供了reverse()函数,使用方法和vector类似。
七、QT vector反转
QVector<int> v {1, 2, 3, 4, 5};
std::reverse(v.begin(), v.end());
在QT中,vector被称为QVector。和STL的vector类似,QVector也提供了reverse()函数,使用方法也类似。
八、C++ vector反转
vector<int> v {1, 2, 3, 4, 5};
std::reverse(v.begin(), v.end());
在C++中,vector是标准库中最常用的容器之一,使用reverse()函数可以方便地对vector进行反转。
九、int转vector
int num = 12345;
vector<int> v;
while(num) {
    v.push_back(num % 10);
    num /= 10;
}
std::reverse(v.begin(), v.end());
// 现在v的元素为{1, 2, 3, 4, 5}
如果要将一个整数按照相反的顺序保存在vector中,可以先将其转换为字符串,然后再将字符串逐个转换为数字,存放到vector中。最后使用reverse()函数对vector进行反转即可。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/289190.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 