返回首页

您好,
我们有一个类的列表。
如何排序一个变量为X(X是类的成员):8238193 |会员

回答

评论会员:游客 时间:2012/02/07
?a)你需要写一个排序算法做对类成员变量的排序或b)你想知道如何排序STL中的类成员变量的类?对于这两种情况下,我会建议写一个functor,以帮助您的类成员比较:codeprelang="C++"spanclass="code-keyword"struct/spanCompareYourClassMemberXLess{spanclass="code-keyword"bool/spanspanclass="code-keyword"operator/span()(spanclass="code-keyword"const/spanYourClass&lhs,spanclass="code-keyword"const/spanYourClass&rhs){spanclass="code-comment"///spanspanclass="code-comment"Iftheyreferencethesameobject,returnfalse./spanspanclass="code-comment"///spanspanclass="code-comment"Thiswillcreateastrictweakordering./spanspanclass="code-keyword"if/span(&lhs==&rhs)spanclass="code-keyword"return/spanspanclass="code-keyword"false/span; spanclass="code-keyword"return/spanlhs.GetX()<rhs.GetX();}}; spanclass="code-comment"///spanspanclass="code-comment"Thedeclarationforthecallto"GetX()const"willneedtobedeclaredwithconst./span/pre/code创建你的仿之前您排序的实例:{C}现在,在您的排序算法,当你想比较两个值时,你可以这样调用一个函数,以确定它适合在搜索顺序输出变CmpXLess。codepreYourClassa;YourClassb; CmpXLess(a,b);/pre/code对于STL的使用这样的:{体C3}顺便说一句,随意改变令人讨厌的长名字的东西,使在你的程序意识。的名称不会改变的功能
rajeevcapgeminiindia:尝试这一定会帮助你...
]
评论会员:游客 时间:2012/02/07
查看:{A}{A2}{A3的}它会帮助你。{S0的} -MKB的