C++ rotate_copy(STL rotate_copy)算法详解
这段代码会对 word 中从 "two" 到 "seven" 的元素生成一个旋转副本。通过使用 back_insert_iterator 将的元素追加到 words_copy 容器中,back_insert_iterator 会调用 words_copy 容器的成员函数 push_back() 来插入每个元素。这段代码产生的输出如下:std::vector<string> words {"one", "two", "three", "four", "five","six", "seven", "eight", "nine","ten"};
auto start = std::find(std::begin(words), std::end(words), "two");
auto end_iter = std::find (std::begin(words) , std::end (words) ,"eight");
std::vector<string> words_copy;
std::rotate_copy(start, std::find(std::begin(words), std::end(words),"five") , end_iter, std::back_inserter (words_copy));
std::copy(std::begin(words_copy), std::end(words_copy),std::ostream_iterator<string> {std::cout, " "});
std::cout << std::endl;
five six seven two three four
这里 rotate_copy() 返回的迭代器是 words_copy 中元素的结束迭代器。在这段代码中,并没有保存和使用它,但它却很有用。例如:生成的 words_copy 容器默认有 20 个元素。rotate_copy() 算法现在会将现有元素的旋转序列保存到 words_copy 中。在输出时,这个算法返回的迭代器可以用来确定 words_copy 的尾部边界;如果没有它,就必须通过源序列的元素个数来计算出尾部边界。std::vector<string> words {"one”,"two", "three", "four", "five","six", "seven", "eight", "nine", "ten"};
auto start = std::find (std::begin(words) , std::end(words) ,"two");
auto end_iter = std::find(std::begin(words) , std::end(words),"eight"); std::vector<string> words_copy {20}; // vector with 20 default elements
auto end_copy_iter = std::rotate_copy(start,std::find(std::begin(words), std::end(words), "five"), end_iter, std::begin(words_copy));
std::copy (std::begin (words_copy),end_copy_iter, std::ostream_iterator<string>{std::cout," "});
std::cout << std::endl;
- 随机文章
- 下海 危险 马尔代夫(重审度假安排:马尔代夫正面临部分区域海域下降隐患)
- 香港 马尔代夫 预警(注意安全!香港和马尔代夫发布旅游警告!)
- 马尔代夫鱼类种类(马尔代夫海域中独特的鱼类种类汇总)
- 几号对阵马尔代夫(中国男足迎战马尔代夫,备战世预赛!)
- 龙神 马尔代夫(探秘马尔代夫神话中的龙神)
- 中国马尔代夫的岛(中国拟打造马尔代夫式海岛旅游目的地)
- 东方马尔代夫项目(东方集团在马尔代夫启动高端旅游项目)
- 成都蒲江马尔代夫(成都蒲江现美景:恍若置身马尔代夫!)
- 南航 广州 马尔代夫(南航新开广州至马尔代夫航线,为旅客带来更多选择)
- 梦幻马尔代夫冷饮(冰镇马尔代夫:清凉冷饮,尽情畅饮!)
- 带着爸妈马尔代夫(带着父母享受马尔代夫度假的必备指南)
- 中国战平马尔代夫(中国足球与马尔代夫战平,踢出好表现)
- 江宁马尔代夫图片(江宁水清沙白!领略马尔代夫养眼照片)
- 网红芜湖马尔代夫(芜湖旅游网红云集,马尔代夫成为新宠)
- 贵溪马尔代夫沙滩(贵溪旅游新亮点:马尔代夫沙滩体验!)
- 法医秦明马尔代夫(重返马尔代夫,法医秦明再度侦破案件)
- 孝感周边马尔代夫(孝感周边:探访风光旖旎的马尔代夫!)
- 海岛记录马尔代夫(记录马尔代夫:一个梦幻般的海岛之旅)
- 迷你马尔代夫解密(探秘迷你马尔代夫:全球最小度假胜地)
- 马尔代夫高清美图(马尔代夫绝美风光,惊艳高清美图!)
- 类似 马尔代夫(重温最美马尔代夫,度过难忘假期!)
- 韩国客平马尔代夫(韩客在马尔代夫遇难,游客应注意安全)
- 茂名 马尔代夫(茂名青年在马尔代夫度假,留下美丽回忆)
- 四女 马尔代夫(四位女游客马尔代夫旅游经历分享)
- 康亮 马尔代夫(康亮:马尔代夫推动环境可持续性,制定新政策)
- 马尔代夫中文导游(马尔代夫旅游指南:中文导游必不可少)
- 欧美 马尔代夫(美欧游客驻足马尔代夫,畅享大海与阳光)
- 平析 马尔代夫(【马尔代夫】被誉为印度洋上的水晶,她有多美?)
- 国足马尔代夫炎热(国足全力备战烈日炎炎的马尔代夫赛事)
- 淮安 马尔代夫(淮安市民可直飞马尔代夫,航线直达,旅游更方便)
