//总的来说就是使用sort函数来排序,在使用自定义数据类型时指定比较规则就可以了
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
#include <algorithm> //算法头文件
using namespace std;
typedef struct node
{
double data;
int id;
}NODE; //自定义节点
bool comp(NODE a,NODE b) //定义比较规则
{
return a.data<b.data;
}
int main()
{
NODE node1,node2,node3;
node1.data=1;
node1.id=3;
node2.data=2;
node2.id=2;
node3.data=3;
node3.id=1;
vector<NODE>mynode;
mynode.push_back(node1);
mynode.push_back(node2);
mynode.push_back(node3);
sort(mynode.begin(),mynode.end(),comp); //比较函数
for(int i=0;i<3;i++) //输出
cout<<mynode[i].data<<" "<<mynode[i].id<<endl;
getchar();
return 0;
}
自定义数据结构使用sort函数排序
最新推荐文章于 2024-01-11 20:04:33 发布