字典排序相關

2021-06-21 16:18:02 字數 594 閱讀 5311

一、字典排序的規則:

兩個字串:stra: [a1 a2 ... am] , strb: [b1 b2 ... bn]

1.如果其中乙個字串是另乙個字串的子串,那麼子串要小於另乙個字串;

2.如果這兩個字串沒有子串的關係,那麼從前往後遍歷stra和strb,找到第一對不相同的字元ai和bi,如果aibi,則stra大於strb;

3.具體字元之間的大小是如何比較的:這要看字元的位元組碼(ascii)大小。

乙個簡單的乙個例子:

a < aa < ab < abc < b

有下面10個key,思考下面四個key在leveldb中的順序:

key1:  1

key2:  2

...key9:  9

key10: 10

按照一般的思維方式,這十個key應該是這樣的排序關係:

1 < 2 < ... < 9 < 10

但實際上leveldb中key和value都是string型別,預設排序方式採用的都是字典序,上面10個key的在leveldb中的順序關係是:

1 < 10 < 2 < 3 < ... < 9

ref:字典序wiki

2個和字典排序相關函式 字典排序演算法實現

字典排序思路見下圖 lexicographic permute 字典排序演算法 includeusing namespace std 判斷最後乙個排列,是否存在 2個元素是公升序的,並記錄最右公升序左邊那個數的位置 比如 1 5 2 6 3 公升序 1,5 2 6 記錄 2所在位置 loc 2 in...

字典相關函式

增刪改查 增 fromkeys dic dic dd 你好 dic ss lili dic ww wangwei dic qq ashui dic support 寶藍 print dic dic.pop nj print dic dic res dic.pop q qq 沒有 print res ...

Python的字典相關

1.在字典中新增新元素的方法 dict key value 或者使用 fromkeys 方法 2.遍歷字典 for key in dict2 print key s,value s key,dict2 key 3.輸出乙個有序字典的方法 for key,value in sorted dict.it...