티스토리 뷰

list 특징

1. 자료구조의 double linked list(이중 연결 리스트)를 템플릿으로 구현시킨 것 이다.

2. 중간에 데이터 삭제나 삽입이 용이하다(빠르다).


※중간 데이터 삭제, 삽입을 안한다면 vector가 더 용이하다

※저는 list를 거의 사용하지않습니다. vector로도 충분한 상황이 대부분이기 때문입니다.



std::list.eraser()

 원소를 지운다.

 std::list.front()

첫번째 원소에 접근한다. 

 std::list.back()

마지막원소에 접근한다. 

 std::list.empty()

현재 컨테이너가 비었는지 확인한다. 

 std::list.size()

원소의 갯수를 반환한다. 

std::list.clear()

내용물을 모두 지운다. 

std::list.insert()

 원소를 삽입한다.

std::list.push_front()

새로운 원소를 앞에 삽입한다.

std::list.pop_front()

 첫번째 원소를 제거한다.

 std::list.push_back()

끝에 원소를 삽입한다.


std::list_pop_back()

 마지막 원소를 제거한다.

 std::list.sort()

원소들을 정렬한다.

std::list.reverse()

원소의 순서를 바꾼다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <list>
#include <iostream>
#include <algorithm>
 
int main()
{
    std::list<int> t_list;
    std::list<int>::iterator t;
 
    for(int i = 0; i < 5; i ++)
    {
        t_list.push_back(i);
    }
 
    for(t = t_list.begin(); t != t_list.end(); t ++)
    {
        std::cout << *<< std::endl;
    }
 
    //#include <algorithm> 추가
    //find 첫번째 인자부터, 두번째 인자까지, 세번째 인자가 있는지 찾는다.
    t = find(t_list.begin(), t_list.end(), 4); // 4를 찾는다
 
    t_list.insert(t, 44); // 4위치에 44를 넣는다 4는 뒤로 간다
 
    //std::vector와 마찬가지로 list도 ranged for 사용이 가능하다
    for(auto T : t_list)
    {
        std::cout << T << std::endl;
    }
    
    system("pause");
}
cs



※코딩지적및비판은 저에게 많은 도움이됩니다.

※코딩질문 또한 많은 도움이 됩니다.


'프로그래밍 > C++' 카테고리의 다른 글

[C++] 몬티홀 딜레마 문제  (0) 2017.10.23
[C++]new Class;와 new Class();의 차이  (0) 2017.06.27
[C++]STL 프로그래밍 std::vector  (0) 2017.03.06
[C++] 연산자 오버로딩(Operator)  (0) 2017.03.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함