求字母检索人名算法..

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:19:35
要求输入的字母匹配姓 || 名里面的单字。
比如:
1.输入G,显示所有姓首字母是G的人名;
2.输入A,显示所有姓前两个字母是GA和名字前两个字首字母是G和A的人名;
3.输入N,显示所有姓的拼音是GAN和名字的首字母是 G A N的人名。
麻烦高手啦..
用C语言实现,我也只会用C语言啦...

这个比较简单了吧。
二分,或者用字典树,或者HASH
二分思想。
把所有人名字(字符串)按字典序排列(sort就OK);
然后读到一个字符比如G,
二分搜索 >=“G”。 <= "G(char)170"的字符串并显示

字典树,
把所有任命保存到字典树里(这种方法限制比较大,人命足够多的话,保存不下去)。然后所有操作无非就是字典书的find操作。

HASH写起来也简单,方法也不错。

请问:这要用什么语言写?

JAVA会比较方便些啊!

好吧!我试试看。

懒不想写出来了,这简单啊,你就用循环遍历整个结构体里存名字的变量,然后前一段字符串匹配的就打印,不用函数来坚持是否匹配的话,你弄个字符数组来存G、A、什么的,然后用个内循环来遍历检索是否对。