请教大家一段排序代码

 using namespace std;
    struct Node{
        int ai;
        int bi;
    };
    bool cmp(Node a,Node b)
    {
        return a.ai+b.bi<a.bi+b.ai;
    }
         sort(ar,ar+n,cmp);

通过这段代码排序得到的新数组
是怎么样的?

这段代码排序出来的结果不可预测,因为比较函数违反偏序规则。所谓偏序规则就是如果满足a=c出现。

 这段代码排序出来的结果不可预测,因为比较函数违反偏序规则。所谓偏序规则就是如果满足a<b,b<c不允许a>=c出现。