泛型演算法:旋轉序列演算法rotate()、rotate_copy()
阿新 • • 發佈:2021-02-03
技術標籤: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;
}