trie实现&&字符编码&&graphviz

很菜的编码。效率,时间,空间,伤心的问题。小试一把c++模板,非常强大。函数对象,比函数指针强多了。tree数据结构用的孩子表示法。一个vector。。。见过高手用递归map表示的,很强!因为整个trie就是一个递归的数据结构。trie后面还有suffix trie,suffix tree。更多trie资料见wikipedia.

加入了编码(TCHAR)的东西,支持中文。

生成了graphviz用的dot图文件。这是个好东东。可以画各种图。配合其他工具,可以画函数调用图。

windows下装好graphviz,在cmd下,dot -O -Tpng -Efontname="宋体" trie.dot,就可以生成图了。命令行用法见官网。哦,生成的原始文件时MBCS编码的,需要转换成UTF-8编码(ultraedit就可以啦),在运行dot命令。(请确认bin目录在搜索路径中+_+)我的提示有warning,不过貌似没关系的!

graphviz支持中文也挺简单的,首先文件中中文要是utf-8编码,再指定字体就可以了。命令行或者文件中指定都可以。

编码方面的东东。这个程序要是在linux下运行如果输出,文件是啥编码?……utf-8,哦,首先linux本身要是utf-8得。⊙﹏⊙b汗。。因为ofstream设置locale了~~设置成跟系统locale一样的了。参数是空字符串。。在输出时,c/c++库到操作系统之间应该做了一层转换。。。。

windows下locale不能设置成UTF-8,见MSDN。The set of available languages, country/region codes, and code pages includes all those supported by the Win32 NLS API except code pages that require more than two bytes per character, such as UTF-7 and UTF-8.

能设置的话,就直接utf-8输出到文件了。

 

我也没在linux试过,+_+。本程序在vs2008下调试通过。

vs2008默认是unicode的,其实是ucs2。也就是wchar_t。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值