九宫格输入法怎么设置是一个很經典的输入法当你输入每个字母的时候,它会提前显示你想输入什么单词大大加快了人们的打字速度,尤其是在手机屏幕还比较小的時代
下面是小编整理好的一套C/C++资料,加小编C/C++编程学习群:获取系统性学习C/C++的学习资料
下面直接先讲数据结构吧。
从图内九宫格下面的標号可以看成我们实际上应该从2开始,所以按键按钮应该这样定义:
然后我们还要创造一个词典词典就是我们使用输入法的时候输入法本身就带有的词典,通过词典我们才能提前显示用户想要输入的单词。这里我们选择手动输入词典格式是:单词 + 权重。
权重就是这個单词的重要性比如我们输入中文的时候:打 xiang 显示的第一个很可能是“想”这个字,而不是“像”这个字这就是权重控制的先后顺序。现在的输入法一般都是动态设置权重它们依据你所使用某个字的频率设置某个拼音的权重。
然后我们需要一个数组存放我们的词典
峩们需要对用户每次敲的数字进行预测,并构造前缀
存放构造的单词前缀数组:
我们先把主函数写了再观察需要什么函数:
显然,calculate应该昰个void函数它要实现数字->字母的过程,并计算权重决定输出的是什么。这里需要注意的是 for()里的++i和i++其实效果是一样的只不过++i的内存开销尛。
所以我们还需要一个计算单词权重的函数: