如何对已按二级条件排序的数组进行排序?

时间:2017-04-28 09:51:36

标签: arrays sorting pseudocode

假设我有一个对象数组。每个对象包含整数和一个字符串。

这些对象已按字母顺序排序,并且没有两个对象包含相同的字符串。

我想对数组进行排序,使它们从最低到最高的整数排序,对于具有相同整数的对象,我想按字母顺序对数组进行排序

例如我从:

开始
[1 "ab"],[2 "bc"],[1 "cd"],[3 "de"],[2 "ef"]

它应该排序为:

[1 "ab"],[1 "cd"],[2 "bc"],[2 "ef"],[3 "de"]

有没有比使用比较器排序功能构建的语言排序更快的方法? (我提供比较功能)

1 个答案:

答案 0 :(得分:0)

可能有,但是 我认为比较功能比任何东西都好得多

bool comp(obj a, obj b)
{
    if(a.num==b.num)return a.str < b.str;
    return a.num<b.num;
}

调用comp函数sort(arr, arr+size, comp)