使用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-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务