이글은 예전 제 싸이월드 블로그에 작성한 글을 티스토리로 옮긴 것입니다.
원문 : http://cy.cyworld.com/home/21147242/post/52DD0F44F455739A07C68401
원문 작성일 : 2014.1.20
============================================================
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 |
#include <cstdio>
#include <set>
using namespace std ;
struct Data
{
int a ;
int b ;
} ;
struct DataCompare
{
bool operator() ( const Data& lhs, const Data& rhs) const
{
#if 0
if (lhs.a < rhs.a)
return 1 ;
else if (lhs.a > rhs.a)
return ;
if (lhs.b < rhs.b)
return 1 ;
return ;
#endif
return ( (lhs.a < rhs.a) || ( (lhs.a == rhs.a) && (lhs.b < rhs.b) )) ;
}
};
int main()
{
set<Data, DataCompare> setData ;
set<Data, DataCompare>::const_iterator setDataIter ;
Data data;
data.a = 3 ;
data.b = 5 ;
setData.insert(data) ;
data.a = 2 ;
data.b = 5 ;
setData.insert(data) ;
data.a = 2 ;
data.b = 2 ;
setData.insert(data) ;
data.a = 6 ;
data.b = 8 ;
setData.insert(data) ;
data.a = 6 ;
data.b = 7 ;
setData.insert(data) ;
data.a = 2 ;
data.b = 2 ;
setData.insert(data) ;
setDataIter = setData.begin() ;
for ( ; setDataIter != setData.end() ; setDataIter++)
printf("[%d.%d]\n", setDataIter->a, setDataIter->b) ;
data.a = 6 ;
data.b = 7 ;
setDataIter = setData.find(data) ;
if (setDataIter != setData.end() )
printf( "Find~!! - [%d.%d]\n", setDataIter->a, setDataIter->b) ;
data.a = 8 ;
data.b = 9 ;
setDataIter = setData.find(data) ;
if (setDataIter == setData.end() )
printf("No Data~!! - [%d.%d]\n", data.a, data.b) ;
return 1;
}
|
'삽질미학 > C,C++' 카테고리의 다른 글
printf() 에서 "%nd" 에서 n값을 변수로 대체하기. (0) | 2017.01.09 |
---|---|
STL set 컨테이너에 2차원 배열 삽입하기 (0) | 2017.01.09 |
Unblock me 게임 풀어주는 코드 (0) | 2017.01.09 |
[Linux C/C++] 실행파일 생성시간을 이용한 버전관리 (0) | 2016.10.24 |
TDES-ECB 암호화 코드 (0) | 2016.10.24 |