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
반응형
댓글