teddy8 Full Stack Software Engineer

C++ STL 리스트(list)

2019-07-06
teddy8
       

list


주로 이럴 때 사용합니다.

검색을 거의 하지 않을 때
중간에 삽입, 삭제를 자주할 때
랜덤 액세스를 하지 않을 때

* forward_list : list처럼 양방향이 아닌 단방향으로 충분할 때

주요 함수 (vector와 중복되는 부분은 제외 했습니다)

(List operations)
merge 	  : list1에 list2를 정렬하면서 병합
splice    : list1, list2있고 특정 원소를 특정 리스트에 이동시킬 때
remove    : 인자로 받은 값과 동일한 원소 모두 제거
remove_if : 함수객체의 조건을 만족하는 원소 모두 제거
reverse   : 역순으로 바꿀 때
unique    : 현재 원소들 중 연속적으로 중복된 값이 배치된 원소를 제거
sort      : 오름차순 정렬

예제 소스코드

``` c++ #include #include

using namespace std;

int main() { list numList; int n, sum = 0;

cin >> n;

// 리스트에 원소 삽입
for (int i = 0, k; i < n; i++) {
	cin >> k;
	numList.push_back(k);
}

// 리스트 오름차순 정렬
numList.sort();

// 리스트 출력
list<int>::iterator iter = numList.begin();

while (iter != numList.end()) {
	cout << *iter << endl;
	iter++;
}

// 리스트 반대로 출력
list<int>::reverse_iterator ri = numList.rbegin();

while (ri != numList.rend()) {
	cout << *ri << endl;
	ri++;
}

return 0; }

Comments

Content