當前位置:成語大全網 - 新華字典 - 字典序的概述

字典序的概述

數字也可以作為特別的字符串...這種情況下...如果我們用字典序進行比較...就有可能會出現下面這種情況...

100<1000..(加引號的目的是為了區別數字..與數字串..)

事實上呢.在計算機裏...我們會這麽看..和之前壹樣...我們會首先比較第壹個字符...

這裏1='1'..(已經可以看到區別了..在數中..數字因為位置的不同會有不同的意義..而這裏.這種分別變的不壹樣了...)

..壹步比較...還沒有辦法分辨出它們的大小...只好再比較之後的數...

這種情況回直到最後壹次嘗試...第壹個字符串已經空掉之前...

如果硬要比較的話...

空格的ascii碼值是32.(Ascii碼還是用兩位十六進制表示比較合適)

‘0’的ASCII碼值是48 所以‘100’<'1000'

例子:依次比字母, 如boat < boot <

cap < card < cat < to < too< two < up

字典序如下:

設P是1~n的壹個全排列:p=p1p2......pn=p1p2......pj-1pjpj+1......pk-1pkpk+1......pn

1)從排列的右端開始,找出第壹個比右邊數字小的數字的序號j(j從左端開始計算),即 j=max{i|pi<pi+1}

2)在pj的右邊的數字中,找出所有比pj大的數中最小的數字pk,即 k=max{i|pi>pj}(右邊的數從右至左是遞增的,因此k是所有大於pj的數字中序號最大者)

3)對換pj,pk

4)再將pj+1......pk-1pkpk+1......pn倒轉得到排列p'=p1p2.....pj-1pjpn.....pk+1pkpk-1.....pj+1,這就是排列p的下壹個排列。