sort如何排序自定义数据类型 - C / C++ -

请问:使用stl中的sort函数如何排序自定义数据类型,按其中的一个量为序我的代码如下,可是有错误,好像是排序的过程中要insert,出错了。。。[ol][*]#incl... 请问:使用stl中的sort函数如何排序自定义数据类型,按其中的一个量为序我的代码如下,可是有错误,好像是排序的过程中要insert,出错了。。。[ol][*]#include [i][*]#include [*]#include [*]using namespace std;[*][*]struct costnode[*]{[*]? ? int fromVillage;[*]? ? int endVillage;[*]? ? int cost;[*]};[*]costnode cost[101];[*]bool cmp(int x,int y)[*]{[*]? ? return cost[x].cost>cost[y].cost;[*]}[*]int main()[*]{[*]? ? int N,M;[*]? ? while (cin>>N>>M&&N!=0)[*]? ? {[*][*]? ?? ???int i = 0 , j = 0 , fromVillage = 0 , endVillage = 0 , icost = 0;[*]? ?? ???for (i=0;i>fromVillage>>endVillage>>icost;[*]? ?? ?? ?? ?cost[i].fromVillage = fromVillage;[*]? ?? ?? ?? ?cost[i].endVillage = endVillage;[*]? ?? ?? ?? ?cost[i].cost = icost;[*]? ?? ???}[*]? ?? ???sort(cost+1,cost+M,cmp);[*]? ? }[*]? ? return 0;[*]}[/ol] 展开
 我来答
Lotayou
2013-04-03 · TA获得超过382个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:94.8万
展开全部
比如你要排的数据类型是A,元素已放好在数组Array中,长为size
sort(Array,Array + size,cmp);

cmp是一个返回bool的函数,用于定义排序顺序
bool cmp(A& a1,A& a2){
return a1.member > a2.member; //按member的顺序从大到小排序

}

如果略去最后的cmp,sort算法默认从小到大排序,但自定义的数据类型一定要重载大于号,小于号等比较运算符
匿名用户
2013-04-01
展开全部
排序比较的是节点数值,并非坐标,lz。
ls的就可以了,不过感觉可以使用饮用,而不是value。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ifeiying
2013-04-01 · TA获得超过230个赞
知道小有建树答主
回答量:253
采纳率:100%
帮助的人:148万
展开全部
cost是costnode,而cmp使用的参数是int类型,这如何调用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
22493266
2013-04-01 · TA获得超过109个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:60.8万
展开全部
外星代码。。。
你贴个代码能仔细写么? 真没心情去看你贴的这个代码。。。
相信很多人也不会有这个心情去看。 要么整理一下,要么算了吧骚年。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式