///////////////////////////////////////////////////////////////////////////////
//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 |