zoukankan
html css js c++ java
用指针传递的字典树
#include <string> using namespace std; #define NUM 26 #define TYPE 'A' class dictree { public: dictree *child[NUM]; string *value;//节点所存的数据,根据题目而使用不同的类型或数据 dictree(){memset(child,0,sizeof(child));value=NULL;} ~dictree(); bool insert(string s, string s2); string search(string s); }; //把信息s2插入到结点s处 bool dictree::insert(string s,string s2) { int len,i,j; dictree *current,*newnode; len=s.length(); if(len==0)return 0; current=this; for(i=0;i<len;i++) { if(current->child[s[i]-TYPE]!=0) current=current->child[s[i]-TYPE]; else { newnode=(dictree *)malloc(sizeof(dictree)); for(j=0;j<26;j++) newnode->child[j]=0; current->child[s[i]-TYPE]=newnode; current=newnode; } if(i == len - 1)current->value=new string(s2); } return 0; } //搜索s结点的信息 string dictree::search(string s) { int len,i; string ret = ""; dictree *current; len=s.length(); if(len==0)return ret; current=this; for(i=0;i<len;i++) { if(current->child[s[i]-TYPE]!=0) current=current->child[s[i]-TYPE]; else return ret; if(i == len - 1)ret = *current->value; } return ret; } dictree::~dictree() { if(this == NULL) return; for(int i = 0; i < 26; i++) delete this->child[i]; delete value; }
查看全文
相关阅读:
DotNet中的迭代模式和组合模式
能以可视化方式编辑滤镜效果的Image控件
自定义ExtenderControl实现服务器控件可拖放
股票交易费及利润计算器
用ajax library的客户端脚本实现无刷新分页
实现html转Xml
oracle10g主机身份证明错误的解决办法
创建ASP.NET AJAX客户端组件实现验证控件的toolTip式错误提示
可分页的Repeater控件
数据结构趣题——约瑟夫环
原文地址:https://www.cnblogs.com/windmissing/p/2559822.html
最新文章
Android程序开发初级教程(二) 枫
CSS兼容性(IE和Firefox)技巧大全 枫
Android程序开发初级教程(一) 枫
DIV相对于父DIV底部对齐的实现方法Div+CSS教程 枫
JAVA数据结构 枫
div显示在底部(一种固定不变,另一种随页面上下翻动而动) 枫
微软官方推荐IE7 IE8 CSS兼容性终极解决方案 枫
DBA的要求 枫
细说 Request[]与Request.Params[] 枫
以小见大、由浅入深谈如何面试Javascript工程师 枫
热门文章
Jquery中Radio,checkbox判断是否选中的问题 枫
escape()、encodeURI()、encodeURIComponent()区别详解 枫
不一样的Insert.. 枫
css使用> 枫
IE和火狐的css兼容性问题归总 枫
syscolumns 枫
js 字符串转换为josn对象 枫
使用Server.Transfer 枫
js向左滚动 枫
ORA00603错误解决过程
Copyright © 2011-2022 走看看