hominic 2023. 12. 9. 09:07
728x90
반응형
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

template<typename C> void dump(const char *desc, C c) { cout.width(12);cout << left << desc << "==> ";
	copy(c.begin(),c.end(),ostream_iterator<typename C::value_type>(cout," ")); cout << endl; }

void main()
{
	int i;
	vector<int> vi,vi2;
	for (i=0;i<10;i++) vi.push_back(i);
	vi2=vi;

	dump("복사전",vi);
	copy(vi.begin()+2,vi.begin()+7,vi.begin()+3);
	dump("copy",vi);
	copy_backward(vi2.begin()+2,vi2.begin()+7,vi2.begin()+8);
	dump("back",vi2);
}

copy

#include <iostream>
#include <algorithm>
using namespace std;

void main()
{
	char src[]="1234567890";
	char dest[]="abcdefghij";

	copy(&src[3],&src[7],&dest[5]);
	puts(dest);
}

 

 

copy2

#include <iostream>
#include <list>
#include <algorithm>
using namespace std;

template<typename C> void dump(const char *desc, C c) { cout.width(12);cout << left << desc << "==> ";
	copy(c.begin(),c.end(),ostream_iterator<typename C::value_type>(cout," ")); cout << endl; }

void main()
{
	char src[]="1234567890";
	list<char> li;

	copy(&src[3],&src[7],back_inserter(li));
	dump("list",li);
}

 

 

copy_backward

#include <iostream>
#include <list>
#include <algorithm>
using namespace std;

template<typename C> void dump(const char *desc, C c) { cout.width(12);cout << left << desc << "==> ";
	copy(c.begin(),c.end(),ostream_iterator<typename C::value_type>(cout," ")); cout << endl; }

void main()
{
	int i;
	list<int> li,li2;
	list<int>::iterator first,last,result,it;

	for (i=0;i<10;i++) li.push_back(i);
	li2=li;

	dump("복사전",li);
	first=find(li.begin(),li.end(),2);
	last=find(li.begin(),li.end(),7);
	result=find(li.begin(),li.end(),3);
	copy(first,last,result);
	dump("copy",li);

	first=find(li2.begin(),li2.end(),2);
	last=find(li2.begin(),li2.end(),7);
	result=find(li2.begin(),li2.end(),8);
	copy_backward(first,last,result);
	dump("back",li2);
}

 

 

copy_backward2

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

template<typename C> void dump(const char *desc, C c) { cout.width(12);cout << left << desc << "==> ";
	copy(c.begin(),c.end(),ostream_iterator<typename C::value_type>(cout," ")); cout << endl; }

void main()
{
	int i;
	vector<int> vi,vi2;
	for (i=0;i<10;i++) vi.push_back(i);
	vi2=vi;

	dump("복사전",vi);
	copy(vi.begin()+2,vi.begin()+7,vi.begin()+3);
	dump("copy",vi);
	copy_backward(vi2.begin()+2,vi2.begin()+7,vi2.begin()+8);
	dump("back",vi2);
}
728x90
반응형