Vin*_*C M 44 language-agnostic sorting
什么是自然排序.假设我有一个Employee对象,其中包含姓名,年龄和加入日期,按自然顺序排序?
krt*_*tek 56
自然排序是一种字母数字排序,对人类来说似乎很自然.
在经典的字母数字排序中,我们将有类似的东西:
1 10 11 12 2 20 21 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)
如果您使用自然订购,它将是:
1 2 3 4 5 6 7 10 11 12 20 21
Run Code Online (Sandbox Code Playgroud)
根据语言的不同,自然顺序有时会忽略大写字母并强调一个(即所有强调的字母都被视为非强调对应字母).
许多语言都具有自然地命令String的功能.但是,员工对语言来说太"高级",您必须决定自然订购它们意味着什么,并创建相应的功能.
在我看来,订购Employee将首先按名称使用自然排序,年龄和最后加入日期对它们进行排序.
根据统计,有两种类型的分类变量.变量具有不具有数字排序(标称)的类别和具有有序类别(顺序)的变量.Employee的名称,年龄和加入日期的示例实际上被视为名义变量,因此不能按自然顺序排序.自然排序可能存在,例如在年龄,如果你把它分类为儿童,青少年,成年人的水平,其中人们可以观察升序类型的排序.