使用copy()、ostream_iterator和reverse_iterator实现正反向输出

迭代器是STL算法的接口,而指针是迭代器,所以STL算法可是实现指针来对基于指针的非STL容器进行操作,例如数组。

#include <iostream>
#include <vector>
#include <iterator>
int main()
{
	using namespace std;

	int casts[10] = { 1,2,3,4,5,6,7,8,9,10 };
	vector<int> dice(10);
	// 正向输出
	copy(casts, casts + 10, dice.begin());
	ostream_iterator<int, char>	out_iter(cout, " ");
	copy(dice.begin(), dice.end(), out_iter);
	cout << endl;
// 反向输出第一种形式
	copy(dice.rbegin(), dice.rend(), out_iter);
	cout << endl;
// 反向输出第二种形式
	for (auto ri = dice.rbegin(); ri != dice.rend(); ++ri) {
		cout << *ri << ' ';
	}
	system("pause");
	return 0;

}

全部评论

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务