比如一个学生数组,先按年龄排序,再按身高排序的一点疑问

来源:2-5 插入排序法 - Insertion Sort

甲骨文_0001

2021-08-29

你好,老师,问一个题外的业务场景排序问题,现在知道了基础排序算法,然后,有一个学生数组 arr=[{年龄,身高,…},{年龄,身高,…},{年龄,身高,…},{年龄,身高,…},{年龄,身高,…},… ], 先按照年龄排序,再按照身高来排,我查了下以前人留下的做法,是先 arr.sort(obj1.身高-obj2.身高),
再arr.sort(obj1.年龄-obj2.年龄), 这样反着来排,就能达到目标了,我有点想不明白,希望老师指教一下哈…

写回答

1回答

liuyubobobo

2021-08-29

就是基数排序的思想呀。前提是 sort 必须是稳定排序。


我印象里你购买了我的体系课程,可以复习一下 LSD 的字符串排序。只不过在这里,相当于把身高看作是一个“字符”,把年龄看作是另一个“字符”。


继续加油!:)

1
3
甲骨文_0001
回复
liuyubobobo
嗯 谢谢😃😃😃
2021-08-29
共3条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程