Language agnostic 定义总订单

Language agnostic 定义总订单,language-agnostic,Language Agnostic,您如何定义总订单?例如,如果您需要定义一个总体顺序或形状等,您将如何进行定义 编辑:具体来说,您将如何基于具有坐标(x、y、z)的对象定义总顺序。我不明白你怎么能构造一个排序,使每个对象都是唯一的和可排序的。在2D或3D对象上没有“自然”排序。但是,如果要归纳排序,可以通过坐标对其进行比较,例如: // returns -1 if o1<o2, 1 if o1>o2, 0 if o1==o2 int Compare(MyObject o1 ,MyObject o2) { if

您如何定义总订单?例如,如果您需要定义一个总体顺序或形状等,您将如何进行定义

编辑:具体来说,您将如何基于具有坐标(x、y、z)的对象定义总顺序。我不明白你怎么能构造一个排序,使每个对象都是唯一的和可排序的。

在2D或3D对象上没有“自然”排序。但是,如果要归纳排序,可以通过坐标对其进行比较,例如:

// returns -1 if o1<o2, 1 if o1>o2, 0 if o1==o2
int Compare(MyObject o1 ,MyObject o2)
{
    if(o1.x>o2.x) return 1;
    if(o1.x<o2.x) return -1;
    if(o1.y>o2.y) return 1;
    if(o1.y<o2.y) return -1;
    if(o1.z>o2.z) return 1;
    if(o1.z<o2.z) return -1;
    return 0;
}
//如果o1o2返回-1,如果o1==o2返回0
整数比较(对象o1,对象o2)
{
如果(o1.x>o2.x)返回1;
if(o1.xo2.y)返回1;
if(o1.yo2.z)返回1;
如果(o1.z2D或3D对象上没有“自然”排序。但是,如果您想归纳排序,可以通过坐标对其进行比较,例如:

// returns -1 if o1<o2, 1 if o1>o2, 0 if o1==o2
int Compare(MyObject o1 ,MyObject o2)
{
    if(o1.x>o2.x) return 1;
    if(o1.x<o2.x) return -1;
    if(o1.y>o2.y) return 1;
    if(o1.y<o2.y) return -1;
    if(o1.z>o2.z) return 1;
    if(o1.z<o2.z) return -1;
    return 0;
}
//如果o1o2返回-1,如果o1==o2返回0
整数比较(对象o1,对象o2)
{
如果(o1.x>o2.x)返回1;
if(o1.xo2.y)返回1;
if(o1.yo2.z)返回1;

对不起,我很含糊。对不起,我很含糊。对不起,我很含糊。我很抱歉耽搁了。但是非常感谢你的回答。我很抱歉耽搁了。但是非常感谢你的回答