10_10.cpp

来自「湖南大学ACM-OJ的部分题目代码」· C++ 代码 · 共 83 行

CPP
83
字号
#include<iostream>
#include<algorithm>
#include<functional>
#include<vector>
using namespace std;

class even_by_two
{
public:
	int operator()()const
	{return _x+=2;}
private:
	static int _x;
};
int even_by_two::_x=0;

void main()
{
	int iarrary[]={0,1,2,3,4,5,6,6,6,7,8};
	int iarrary1[]={0,1,2,3,4,4,5,5,6,6,6,6,6,7,8};
	vector<int> ivector(iarrary,iarrary+sizeof(iarrary)/sizeof(int));
	vector<int> ivector1(iarrary+6,iarrary+8);
	vector<int> ivector2(iarrary1,iarrary1+sizeof(iarrary1)/sizeof(int));
	ostream_iterator<int>output(cout," ");

	generate(ivector1.begin(),ivector1.end(),even_by_two());
	copy(ivector1.begin(),ivector1.end(),output);
	cout<<endl;

	generate_n(ivector.begin(),3,even_by_two());
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

	remove(ivector.begin(),ivector.end(),6);
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

    vector<int>ivector3(12);
	remove_copy(ivector.begin(),ivector.end(),ivector3.begin(),6);
	copy(ivector3.begin(),ivector3.end(),output);
	cout<<endl;


	remove_if(ivector.begin(),ivector.end(),bind2nd(less<int>(),6));
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

	remove_copy_if(ivector.begin(),ivector.end(),ivector3.begin(),bind2nd(less<int>(),7));
	copy(ivector3.begin(),ivector3.end(),output);
	cout<<endl;

	replace(ivector.begin(),ivector.end(),6,3);
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

	replace_copy(ivector.begin(),ivector.end(),ivector3.begin(),3,5);
	copy(ivector3.begin(),ivector3.end(),output);
	cout<<endl;

	replace_if(ivector.begin(),ivector.end(),bind2nd(less<int>(),5),2);
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

    replace_copy_if(ivector.begin(),ivector.end(),ivector3.begin(),bind2nd(equal_to<int>(),8),9);
	copy(ivector3.begin(),ivector3.end(),output);
    cout<<endl;

	reverse(ivector.begin(),ivector.end());
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

	reverse_copy(ivector.begin(),ivector.end(),ivector3.begin());
	copy(ivector3.begin(),ivector3.end(),output);
	cout<<endl;

	rotate(ivector.begin(),ivector.begin()+4,ivector.end());
	copy(ivector.begin(),ivector.end(),output);
	cout<<endl;

	rotate_copy(ivector.begin(),ivector.begin()+5,ivector.end(),ivector3.begin());
	copy(ivector3.begin(),ivector3.end(),output);
	cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?