1. 程式人生 > 其它 >泛型演算法:旋轉序列演算法rotate()、rotate_copy()

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

技術標籤:c++標準庫中的演算法

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;
}