共计 283 个字符,预计需要花费 1 分钟才能阅读完成。
Qt 君最近为软键盘添加中文输入功能,由于字母对应拼音中文比较多。使用字母查找中文要快速响应,不然会影响界面交互。
在网上找到了一个中文拼音字库,看了下里面的数据将近两万个。比如输入 ”a” 字母,一般我们会遍历所有符合 ”a” 字母的中文,这样将会遍历两万次。多多少少会影响界面交互的流畅性。
看了一下规律,拼音中文对应字母可分为 a 到 z 共 26 大类。
安 a
按 a
不 b
吧 ba
产 c
成 c
...
如果将 a 到 z 细分 26 大类,就可以将查找范围大大缩小,而 a 到 z 就是其索引。
建立 a 到 z 的索引,而查找的时候先查找某一个索引 (字母),再通过索引进一步查找对应的数据,从而实现优化查找效率。
正文完