[STL] Insert Iterator Demo

Front Insert Iterator : 앞부분부터 삽입. 새치기하듯이 삽입되어서, 먼저 들어온 원소가 가장 마지막에 위치하게 된다.
Back Insert Iterator : First Com First Serv.방식 온 순서대로 차례로 왼쪽에서 오른쪽으로 삽입된 결과를 나타낸다.
Insert Iterator : Sequence Container에서는 원하는 index에 접근해서 삽입이 가능하다.
그러나 Associative Container의 경우 의미를 가지지 못한다. 따라서, 값이 정렬된 상태로
출력된다.


#include <iostream>
#include <list>
#include <vector>
#include <set>
#include <string>
#include <iterator>
using namespace std;

template<typename Container>
void PrintContainer(string strTitle,Container& cont);

int main()
{
    int pArray[5] = {9,1,4,7,2};

    //Front Insert Iterator
    list<int> iList;

    copy(pArray,pArray+5,front_inserter(iList));
    PrintContainer("Front Insert",iList);

    //Back Insert Iterator
    vector<int> iVector;

    for(int i=0; i<5; i++){
        back_inserter(iVector) = pArray[i];
    }
    PrintContainer("Back Insert",iVector);

    //Insert Iterator

    set<int> iSet;
    copy(pArray,pArray+5,inserter(iSet,iSet.begin()));
    PrintContainer("Insert",iSet);
    
    return 0;

}
template<typename Container>
void PrintContainer(string strTitle, Container& cont)
{
    cout<<strTitle<<" : ";
    for(Container::iterator it = cont.begin();it!=cont.end();++it)
    {
        cout.width(3);
        cout<<*it;
    }
    cout<<endl;
}



댓글

이 블로그의 인기 게시물

[Win32 API] WINAPI - 함수호출규약

JAVA Frame Icon setting

JAVA Spinner