在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法。其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列。 比如,字典中a-z,是依次递增的,a,b,c....z,ab,ac....az,bc....., 在比如,举个列子。。身边的一本书中。 第1章 1.1 字典排序 1.1.1什么叫字典排序 1.1.1.1 字典排序的用法 1.2 用处。。 1.3 .。。 第2章 2.1 .。。 2.1.1 2.2.。。 总是像这样排序的,我理解了字典排序,和这个差不多。。。 那么strcmp()是如何排序的呢, <?php //字母 a k $str1 = 'a'; $str2 = 'k'; $res = strcmp($str1,$str2); echo $res; echo "<br />"; //输出-1 $res = strcmp($str2,$str1); echo $res; echo "<br />"; //输出 1 //数字: 1 ,2 ,10, 12 $arr = array(10,1,2,19999999); usort($arr,"strcmp"); print_r($arr); echo "<br />"; //Array ( [0] => 1 [1] => 10 [2] => 19999999 [3] => 2 ) //字符串 $str_arr = array('1','1.1','1.1.1','1.1.1.1','2','2.1','2.1.1','2.2'); usort($str_arr,"strcmp"); print_r($str_arr); echo "<br />"; //Array ( [0] => 1 [1] => 1.1 [2] => 1.1.1 [3] => 1.1.1.1 [4] => 2 [5] => 2.1 [6] => 2.1.1 [7] => 2.2 ) //中文是怎么排序的呢,仔细想想,在新华字典中的排序,是按照拼音的, //比如,a ai an ang ao //ba bai ban bang //那么我们就比较这些值吧,看一下 $str_cn = array('吧','啊','白','奥','昂','爱','安','般','帮'); usort($str_cn,"strcmp"); print_r($str_cn); echo "<br />"; //Array ( [0] => 吧 [1] => 啊 [2] => 奥 [3] => 安 [4] => 帮 [5] => 昂 [6] => 爱 [7] => 白 [8] => 般 ) //中文 怎么是这样呢,找了好久没找到,一起学过java,那么用java试一下, 在java的String类中,有个compareTo()方法,也是字典排序,基于字符串中每个字符的Unicode。。 package example; public class compareTo { public static void main(String[] args) { // 比较2个中文 String str1 = "中国"; String str2 = "中华"; int res = str1.compareTo(str2); System.out.println(res); System.out.println("------------"); // 获取unicode值 char[] ch1 = str1.toCharArray(); for (int i = 0; i < ch1.length; i++) { System.out.println(ch1[i] + ": " + (int) ch1[i]); } System.out.println("------------"); char[] ch2 = str2.toCharArray(); for (int i = 0; i < ch2.length; i++) { System.out.println(ch2[i] + ": " + (int) ch2[i]); } } } 输出: 943 //应该就是这样了。。。。 |
2022-08-30
2022-08-17
2022-11-06
2022-08-17
2022-08-16
请发表评论