Programming/C / C++

[C++] Template 관련 글!! Vector, list, Queue, Stack. etc.

Foolishdevil 2010. 3. 10. 21:48
백터.. C++을 하면서 많이 사용하였는데 요즘 C#을 하다보니.. 잘 사용하지 않았다.

이번에 후배들과 함께 공부하다가 알게 되어 다시 정리하게 되었다.

백터의 의미
http://www.mathzone.pe.kr/vector/menu.html

STL의 정의와 사용 방법
http://social.msdn.microsoft.com/Forums/ko-KR/visualcplusko/thread/dad39d8e-c8a9-4c9f-bf7d-23e1c24abc63

간단한 사용방법...
#include 
#include 
#include 
using namespace std;

void UsedVector();
void UsedList();
void UsedQueue();

int main()
{
	int i;
	while(1){
		cin >> i;
		switch(i)
		{
		case 1: UsedVector();
			break;
		case 2: UsedList();
			break;
		default:
			break;
		}
	}

	return 0;
}

void UsedVector()
{
	vector v; // vector변수 선언
	vector::iterator p; // vector에 대한 포인터;

	v.push_back(1); // int형 데이터 삽입
	v.push_back(1);
	v.push_back(1);
	v.push_back(1);
	v.push_back(1);
	v.push_back(1);
	v.push_back(1);
	v.push_back(1);

	/* 출력 */
	for(p = v.begin(); p!= v.end(); p++)
	{
		cout << *p << endl;
	}
}

void UsedList()
{
	list l; // list변수 선언
	l.push_back(0); // 다음 리스트를 연결해줌
	l.push_front(0); // 전의 리스트를 연결해줌

	l.insert(++l.begin(), 2); //

	l.push_back(5);
	l.push_back(6);

	list::iterator i;

	for(i = l.begin(); i != l.end(); i++)
	{
		cout << *i << endl;
	}
}