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; }
查看全文
相关阅读:
我参与过的开源项目
chineking / WeiboCrawler / wiki / Home — Bitbucket
PIL应用之生成验证码图片
hurl
Hadoop笔记之安装及伪分布式模式配置
httpbin(1): HTTP Client Testing Service
动态规划求编辑距离 残阳似血的博客
cppreference.com
sscanf
在python中定义二维数组
原文地址:https://www.cnblogs.com/windmissing/p/2559822.html
最新文章
XCode4.2学习日志 2013.4.15
MFC客户端开发记录
mysqlbinlog中解释事件hexdump
Oracle 查找并删除表中的重复记录
vs2008\drivers\opengl_2.h.c_opengl基本功能介绍+示例
从Android模拟器sdcard中导出文件
dom4j 一 解析
TextView中文字实现跑马灯
你为什么薪水那么低
多条件检索的传参方法
热门文章
代码之谜(零) 其实,你不懂代码
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告
写了个删除编译文件的批处理程序
『转』为什么中国的程序员总被称为码农?
VC命令行编译开源代码的常用做法
开阔视野的技术盛宴
动态修改Ribbon风格窗口标题的做法
略谈老系统源码如何维护
man 3 sleep
北京朝阳区亚运村营业部 北京市朝阳区大屯里106号楼底商C9号(地铁5号线大屯路东站A口向北300米路西)
Copyright © 2011-2022 走看看