字典序

来源:互联网 发布:mac怎么输入法 编辑:程序博客网 时间:2024/06/05 18:55

字典序(dictionary order),又称 字母序(alphabetical order),原意是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。
英文中的 字母表(Alphabet) 按照如下的顺序排列:

ABCDEFG HIJKLMN OPQRST UVWXYZ

abcdefg hijklmn opqrst uvwxyz

在字典中,单词是按照首字母在字母表中的顺序进行排列的,比如 alpha 在 beta 之前。而第一个字母相同时,会去比较两个单词的第二个字母在字母表中的顺序,比如 account 在 advanced 之前,以此类推。下列单词就是按照字典序进行排列的:

as

aster

astrolabe

astronomy

astrophysics

at

ataman

attack

baa

在计算机领域中,这个字典序就不仅仅用来比较英文单词了,而是比较任意字符串。对于两个字符串,大小关系取决于两个字符串从左到右第一个不同字符的ASCII值的大小关系。比如ah1x小于ahb,而Z5小于a3。下列字符串就是按照字典序进行排列的:

$

*(&%%#

,.23

234q

A2.532

ZZRWA23

\235

a/34

a423

h2ab`.

在绝大多数语言中,都提供了比较两个字符串大小的方法,比较的实际上就是两个字符串的字典序。

例如在 C++ 语言 中:

cout << (“ah1x” < “ahb”) << endl;

就会输出true,而在 Java 语言 中:

System.out.println(“ah1x”.compareTo(“ahb”));

会输出
−49

−49,这个数是两个字符串第一个不一样的位置的两个字符的 ASCII 值之差,如果小于零则说明第一个字符串小于第二个字符串。

0 0
原创粉丝点击