C++ STL 标准结构体排序
2018-01-22 14:47
330 查看
#include <iostream> #include <algorithm> #include <cmath> using namespace std; struct Point{ int x; int y; }; struct Rule1 { bool operator()(const int &x,const int &y) { if(x%10<y%10) { return true; } else if(x%10>y%10) { return false; } else { if(x>y) { return true; } else { return false; } } } }; struct Rule2 { bool operator()(const Point & A,const Point & B) { if(A.x*A.x+A.y*A.y<B.x*B.x+B.y*B.y) { return true; } else if(A.x*A.x+A.y*A.y>B.x*B.x+B.y*B.y) { return false; } else { if(A.x<B.x) { return true; } else if(A.x>B.x) { return false; } else { if(A.y<B.y) { return true; } else { return false; } } } } }; int main() { int a[8] = {6,5,55,23,3,9,87,10 }; sort(a,a+8,Rule1()); for(int i = 0;i < 8; ++i) cout << a[i] << "," ; cout << endl; Point ps[8] = {{1,0},{0,1},{0,-1},{-1,0},{1,-1},{1,1},{2,0},{-2,0} } ; sort(ps,ps+8,Rule2()); for(int i = 0;i < 8; ++i) cout << "(" << ps[i].x << "," << ps[i].y << ")"; return 0; }
相关文章推荐
- 指定结构体排序字段的STL实现版本(C++ 2011系列)
- C++ sort()函数对结构体排序(STL例子)
- C++利用stl::sort对结构体数组中的字符串成员排序
- STL的list容器如何对结构体进行排序
- C++:STL标准入门汇总
- C++ STL 算法:排序组合
- C++抽象编程——STL(4)——vector中的排序和其他存储方式
- (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)
- c++用vector对结构体排序
- 标准C++中string类及STL容器类简介
- 【转】c++中Vector等STL容器的自定义排序
- 标准C++中string类及STL容器类简介
- C++:STL标准入门汇总
- C++:STL标准入门汇总
- C++:STL标准入门汇总
- C++:STL标准入门汇总
- 对vector等STL标准容器进行排序操作
- C++中有关STL自带的排序函数:sort、qsort
- C++:STL标准入门汇总
- C++:STL标准入门汇总