C++/C++ Common
list
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(Standard Template Library) 템플릿을 사용하여 자료형에 관계없이 범용적인 프로그래밍을 가능하게 하는 라이브러리 STL 구성 요소 Container 기본 자료형 또는 사용자 정의 자료형을 담는 자료 구조
doublerabbits.tistory.com