Algorithm 基于加权值确定项目顺序的算法

Algorithm 基于加权值确定项目顺序的算法,algorithm,sorting,Algorithm,Sorting,我甚至不知道从哪里开始处理这类问题,希望有人能给我指出正确的方向 我有一个项目列表,每个项目有四个属性。属性的权重是有利的,例如,属性1比属性2更重要,等等 我希望找到某种算法或方程式,根据这些值对这些项目进行排序。想法?您应该使用,唯一的区别是您的比较器,即说xy.attribute1)返回1 如果(x.attribute2y.attribute2)返回1 如果(x.attribute3y.attribute3)返回1 如果(x.attribute4y.attribute4)返回1 返回0 }

我甚至不知道从哪里开始处理这类问题,希望有人能给我指出正确的方向

我有一个项目列表,每个项目有四个属性。属性的权重是有利的,例如,属性1比属性2更重要,等等

我希望找到某种算法或方程式,根据这些值对这些项目进行排序。想法?

您应该使用,唯一的区别是您的比较器,即说
xy.attribute1)返回1
如果(x.attribute2y.attribute2)返回1
如果(x.attribute3y.attribute3)返回1
如果(x.attribute4y.attribute4)返回1
返回0
}
另一种方法是使用,并对每个属性重复排序,从最不重要的属性开始,以最重要的属性结束。

您应该使用,唯一的区别是您的比较器,即说
x y.attribute1)返回1
如果(x.attribute2y.attribute2)返回1
如果(x.attribute3y.attribute3)返回1
如果(x.attribute4y.attribute4)返回1
返回0
}
另一种方法是使用,并对每个属性重复排序,从最不重要的属性开始,以最重要的属性结束。

如果您想(按字典顺序)排序,例如:

1234 1244 1312

如果你想对你的东西进行分类(按字典顺序),你可以使用。

,例如:

1234 1244 1312


您可以使用。

这有什么问题?哈哈……如果这是最好的方法,那就什么都没有了。就像我提到的…我甚至不知道从哪里开始。我去看看。非常感谢。实现你自己的比较器,使用标准的排序算法……这有什么问题吗?哈哈……如果这是最好的方法,那就什么都没有了。就像我提到的…我甚至不知道从哪里开始。我去看看。非常感谢。实现您自己的比较器并使用标准排序算法。。
compare(x,y) {
   if (x.attribute1 < y.attribute1) return -1
   if (x.attribute1 > y.attribute1) return 1
   if (x.attribute2 < y.attribute2) return -1
   if (x.attribute2 > y.attribute2) return 1
   if (x.attribute3 < y.attribute3) return -1
   if (x.attribute3 > y.attribute3) return 1
   if (x.attribute4 < y.attribute4) return -1
   if (x.attribute4 > y.attribute4) return 1
   return 0
}