반응형
벡터 구조체 필드 기준으로 최대값 최소값 찾기
#include <algorithm>
#include <vector>
typedef struct _A {
double x ;
double y ;
} A ;
bool compareA(const A& a1, const A&a2) {
// 앞에 있는 노드의 x값이 더 작게 소팅한다.
return a1.x < a2.x ;
}
std::vector<A> alist ;
A tmp ;
tmp.x = 10 ;
tmp.y = 70 ;
alist.push_back(tmp) ;
tmp.x = 5 ;
tmp.y = 60 ;
alist.push_back(tmp) ;
tmp.x = 3 ;
tmp.y = 50 ;
alist.push_back(tmp) ;
tmp.x = 8 ;
tmp.y = 80 ;
alist.push_back(tmp) ;
A mina = *std::min_element(alist.begin(), alist.end(), compareA) ;
A maxa = *std::max_element(alist.begin(), alist.end(), compareA) ;
// 이터레이터를 리턴하므로 *를 붙여 객체값을 얻어온다.
printf("mina %lf %lf \n", mina.x, mina.y) ;
printf("maxa %lf %lf \n", maxa.x, maxa.y) ;
mina 3.000000 50.000000
maxa 10.000000 70.000000
'Develop > C&CPP' 카테고리의 다른 글
[알고리즘] 정렬1: selection sort (0) | 2019.12.13 |
---|---|
ASN.1c (0) | 2019.08.01 |
smart pointer 스마트포인터? (0) | 2018.07.19 |
const pointer or pointer / int *const / int const * / const int * (0) | 2018.07.19 |
libcurl HTTP POST send 모듈/curl 커맨드 방식도 지원 (0) | 2018.07.13 |