泛型算法:旋转序列算法rotate()、rotate_copy()

1、 rotate()

int main(int argc, char *argv[])
{
    QVector<int> vec{1,2,3,4,5,6,7,8,9};
    qDebug()<< vec;
    auto result = std::rotate(vec.begin(),vec.begin() + 3,vec.end());
    qDebug()<< vec;
    qDebug()<< *result;
}

旋转类似这种感觉:

2、rotate_copy() 和rotate()类似,但不改变原序列,将结果复制到新的序列

int main(int argc, char *argv[])
{
    QVector<int> vec{1,2,3,4,5,6,7,8,9};
    QVector<int> vec2;
    qDebug()<< vec;
    std::rotate_copy(vec.begin(),vec.begin() + 3,vec.end(),std::back_inserter(vec2));
    qDebug()<< vec;
    qDebug()<< vec2;
}


版权声明:本文为kenfan1647原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。