///////////////////////////////////////////////////////////////////////////////
//STL( vector )
//가변길이의 순차적인 배열에 대한 임의의 접근 가능
//하지만 임의의 위치에 값을 넣을경우 효율이 떨어진다. 순차적이므로 밀려나기 때문
//순차 컨테이너
///////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <vector>

 

using namespace std;

 

void main()
{
    vector<int> vector1;
    vector<int>::iterator it;

    int array[5];

 

    for( int i = 0; i < 5; i++ )

    {
        array[i] = i;
        vector1.push_back(array[i]);
    }

 

    cout << "vector크기" << vector1.size() << endl;

 

    for( it = vector1.begin(); it != vector1.end(); it++ )

    {
        cout << *it << endl;
    }  
}

 

 

 

///////////////////////////////////////////////////////////////////////////////
//STL( vector복사 )
///////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <vector>

using namespace std;

void main()
{
    vector<int> vector1;
    vector<int>::iterator it;
    vector<int> vector2(5);

    int array[5];

 

    for( int i = 0; i < 5; i++ )

    {
        array[i] = i;
        vector1.push_back(array[i]);
    }

 

    cout << "vector크기" << vector1.size() << endl;

 

    for( it = vector1.begin(); it != vector1.end(); it++ )

    {
        cout << *it << endl;
    }

 

    for( i = 0; i < vector1.size(); i++ )

    {
        vector2[i] = vector1[i];
    }

 

 /*for( it = vector2.begin(); it != vector2.end(); it++ )

    {
        cout << *it << endl;
    }*/

 

    for( i = 0; i < vector2.size(); i++ )

    {
        cout << vector2[i] << endl;
    }
}

 

 

 

///////////////////////////////////////////////////////////////////////////////
//STL( vector값 삽입 및 삭제 )
///////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <vector>

using namespace std;

void main()
{
    vector<int> vector1;
    vector<int>::iterator it;
    vector<int>::reverse_iterator it2;  //역방향 출력을 위한 이터레이터

    vector<char> charVector;
    vector<char>::iterator charIt;

    vector<char*> stringVector;
    vector<char*>::iterator stringIt;

    char *p[3] = { "Hello", "Hi", "Ok" };

 

    /////////////////////////////////////////////////////////////////////////////
    //int형 값 입력 및 출력

    for( int i = 0; i < 5; i++ )

    {
        vector1.push_back(i);
    }

 

    cout << "vector크기" << vector1.size() << endl;
    cout << endl;

 

    for( it = vector1.begin(); it != vector1.end(); it++ )

    {
        cout << *it << endl;
    }

    cout << endl;

 

    vector1.insert( &vector1[3], 11 );

 

    for( it = vector1.begin(); it != vector1.end(); it++ )

    {
        cout << *it << endl;
    }

    cout << endl;

 

    vector1.erase( &vector1[4] );

 

    for( it2 = vector1.rbegin(); it2 != vector1.rend(); it2++ ) //역방향 출력
    {  

        cout << *it2 << endl;
    }
    /////////////////////////////////////////////////////////////////////////////

 

    /////////////////////////////////////////////////////////////////////////////
    //문자 입력 및 출력

    for( i = 0; i < 26; i++ )

    {
        charVector.push_back( 'A' + i );
    }

 

    for( charIt = charVector.begin(); charIt != charVector.end(); charIt++ )

    {
        cout << *charIt << endl;
    }
    /////////////////////////////////////////////////////////////////////////////

 

    /////////////////////////////////////////////////////////////////////////////
    //스트링 입력 및 출력
    for( i = 0; i < 3; i++ )

    {
        stringVector.push_back( p[i] );
    }

 

    for( stringIt = stringVector.begin(); stringIt != stringVector.end(); stringIt++ )

    {
        cout << *stringIt << endl;
    }
    /////////////////////////////////////////////////////////////////////////////
}

'Programming > STL' 카테고리의 다른 글

list  (0) 2010.11.16
map - map의 index에 의해 정렬되어 값이 출력  (0) 2010.11.16
set - 랜덤하게 값을 집어 넣으면서 중복값을 빼고 소팅  (0) 2010.11.16
stack  (0) 2010.11.16

+ Recent posts