1. vector
내림 차순 : sort(v.begin(), v,end(), greater<int>());
오름 차순 : sort(v.begin(), v,end());
2. map
내림 차순 :
struct cmp {
bool operator()(int n, int m){
return n<m;
}
} or priority_queue<int , vector<int>, greater<int>> q;
오름 차순 :
struct cmp {
bool operator()(int n, int m){
return n>m;
}
} or priority_queue<int , vector<int>, less<int>> q;
3. struct의 값을 비교할때 (priority_queue를 사용해서)
#include
#include
#include
using namespace std;
typedef struct {
int pos1;
int pos2;
}pos12;
struct cmp {
bool operator()(pos12 n, pos12 m) {
if (n.pos1 == m.pos1) return n.pos2 < m.pos2;
else return n.pos1 < m.pos1;
}
};
int main(void) {
priority_queue<pos12, vector , cmp> q;
q.push({ 3,4 });
q.push({ 3,5 });
/*q.push({ 9,4 });
q.push({ 2,4 });
q.push({ 3,4 });
q.push({ 4,4 });*/
return 0;
}
#include
#include
#include
using namespace std;
int main(void) {
int li[5] = { 5,4,2,3,1 };
int n = sizeof(li) / sizeof(int);
sort(li, li + n, less());
return 0;
} // 배열 sorting 하기.
list
#include
#include
#include
using namespace std;
int main(void) {
list lis;
lis.push_back(3);
lis.push_front(2);
lis.sort(less<int>());
return 0;
}
'자료구조 > cpp' 카테고리의 다른 글
1 map 사용하기 (0) | 2019.05.18 |
---|---|
vector & dequeue & list (0) | 2019.04.23 |