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; }
查看全文
相关阅读:
随机验证码生成
python之map和filter
Json学习笔记
动态规划求区间最值问题RMQ(Range Minimum/Maximum Query)
积水问题
5亿个数找中位数
Linux下进程间通信:命名管道mkfifo
Trie树总结
树的公共祖先问题LCA
类文件结构
原文地址:https://www.cnblogs.com/windmissing/p/2559822.html
最新文章
数据库死锁问题 及 解决方法 <收藏>
mina通信框架设定端口复用
linux mysql的启动和关闭
HttpURLConnection 设置Host 头部无效
Api demo源码学习(12)App/Activity/Save & Restore State
Api demo源码学习(5)App/Activity/Forwarding Activity跳转
Api demo源码学习(11)App/Activity/Reorder Activity
Api demo源码学习(9)App/Activity/Receive Result Activity间传递数据
Api demo源码学习(10)App/Activity/Redirection
Api demo源码学习(8)App/Activity/QuickContactsDemo 获取系统联系人信息
热门文章
Api demo源码学习(6)App/Activity/Hello World
Api demo源码学习(7)App/Activity/Persistent State
Api demo源码学习(13)App/Activity/SetWallpaper
Api demo源码学习(14)App/Activity/Translucent && Translucent Blur
python学习第二课要点记录
三级菜单
Python列表和字典的方法总结
python文件处理
python学习第一课要点记录
文件扫描上传源码
Copyright © 2011-2022 走看看