doublerabbits 2022. 8. 6. 17:37

선언

list<int> list1;

 

 

리스트 뒤에 데이터 추가

list1.push_back(44);
list1.push_back(55);

 

 

리스트 앞에 데이터 추가

list1.push_front(33);
list1.push_front(22);
list1.push_front(11);

 

 

리스트 특정 위치에 데이터 추가

iter = list1.begin();
iter++;
list1.insert(iter, 777777);
list1.insert(iter, 888888);
list1.insert(iter, 999999);

 

 

리스트 최초 요소 데이터 조회

printf("first element : %d \n\n", list1.front());

 

 

리스트 마지막 요소 데이터 조회

printf("last element : %d \n\n", list1.back());

 

 

리스트 특정 위치 데이터 삭제

iter = list1.begin();
iter++;
list1.erase(iter);

 

 

전체 데이터 삭제

list1.clear();

 

 

리스트 비어있는지 확인

list1.empty();

 

 

데이터 순환

for (iter = list1.begin(); iter != list1.end(); ++iter)
{
	printf("%d \n", (int)(*iter));
}
printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

 

 

예제

#include <iostream>
#include <list>

using namespace std;

int main()
{
	list<int> list1;
	list<int>::iterator iter;

	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());


	list1.push_back(44);
	list1.push_back(55);
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	list1.push_front(33);
	list1.push_front(22);
	list1.push_front(11);
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	for (iter = list1.begin(); iter != list1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	list1.clear();
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	list1.resize(2);
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	iter = list1.begin();
	*iter = 111;
	iter++;
	*iter = 222;
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	printf("first element : %d \n\n", list1.front());
	printf("last element : %d \n\n", list1.back());

	list1.insert(iter, 777777);
	list1.insert(iter, 888888);
	list1.insert(iter, 999999);

	for (iter = list1.begin(); iter != list1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	list1.pop_front();
	list1.pop_back();

	for (iter = list1.begin(); iter != list1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	iter = list1.begin();
	iter++;
	list1.erase(iter);

	for (iter = list1.begin(); iter != list1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("list1 size(%d) = %zd \n\n", list1.empty(), list1.size());

	int userInput;
	cin >> userInput;

	return 0;
}

 

 

 

STL

 

STL

STL(Standard Template Library) 템플릿을 사용하여 자료형에 관계없이 범용적인 프로그래밍을 가능하게 하는 라이브러리 STL 구성 요소 Container 기본 자료형 또는 사용자 정의 자료형을 담는 자료 구조

doublerabbits.tistory.com