티스토리 뷰

*STL

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
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <list>
#include <vector>
#include <map>
#include <algorithm>
#include <functional>
using namespace std;
 
int main()
{
    list <int> List;
    vector <int> Vector;
    map <intchar, greater<int>> Map;//기본값은 less<int>
  //key값을 내림차순으로
    for (int i = 0; i < 10; i++) {
        int r = rand() % 10;
        List.push_back(r);
        Vector.push_back(r);
        Map.insert({ r, 'A' + i }); // Map[r] = 'A' + i;
    }
 
    List.remove(2);
    List.reverse();
    List.push_front(2);
    for (vector<int>::iterator it = Vector.begin(); it != Vector.end(); it++) {
        if (*it == 2) it = Vector.erase(it); //중요
    }
    Map.erase(2);
 
    list<int>::iterator List_it = List.begin();
    List_it++;
    List.insert(List_it, 10);
    vector<int>::iterator Vector_it = Vector.begin();
    Vector_it = Vector_it + 5;
    Vector.insert(Vector_it, 10);
 
    for (map<intchar>::iterator it = Map.begin(); it != Map.end(); it++) {
        cout << (*it).first << ','<<(*it).second << endl;
    }
 
    //sort(List.begin(), List.end()); //에러발생
    sort(Vector.begin(), Vector.end());
    //sort(Map.begin(), Map.end()); //에러발생
}
cs


1
2
3
4
5
List.remove(2);
 
for (vector<int>::iterator it = Vector.begin(); it != Vector.end(); it++) {
        if (*it == 2) it = Vector.erase(it); //중요
}
cs


*find

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
List_it = find(List.begin(), List.end(), 2);
if (List_it == List.end()) {
    cout << boolalpha << false << endl;
}
else {
    cout << boolalpha << true << endl;
}
 
Vector_it = find(Vector.begin(), Vector.end(), 12);
if (Vector_it == Vector.end()) {
    cout << boolalpha << false << endl;
}
else {
    cout << boolalpha << true << endl;
}

Map은 List나 Vector와는 다르게 find함수가 있습니다.
Map_it = Map.find(4);
if (Map_it == Map.end()) {
    cout << boolalpha << false << endl;
}
else {
    cout << boolalpha << true << endl;
}
cs


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함