跳至内容
CSS3 Dot TOP
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
数据库:leveldb:前缀查询
编辑本页后请点击“保存”。请参阅
syntax
了解维基语法。只有在您能
改进
该页面的前提下才编辑它。如果您想尝试一些东西,请先到
playground
热身。
媒体文件
====== leveldb前缀查询 ====== 先创建一个函数,用于检查前缀 <code=c++> bool isPrefix(const std::string & pfx , const std::string & str){ auto p=pfx.c_str(); auto s=str.c_str(); int len = pfx.size(); for(int i=0;i<len;i++){ if(p[i]!=s[i]) return false; } return true; } </code> 开始搜索(搜索到的结果插入到链表res中) <code=c++> leveldb::Iterator * it = classifies->NewIterator(leveldb::ReadOptions());//创建迭代器 for(it->Seek(prefix)/*定位前缀*/; it->Valid(); it->Next()) { auto k = it->key().ToString();//key auto v = it->value().ToString();//value if(!isPrefix(prefix,k)) break;//前缀不匹配,说明搜索完了 res.push_back(v);//插入链表 } delete it; </code>
保存
预览
取消
编辑摘要
当您选择开始编辑本页,即寓示你同意将你贡献的内容按下列许可协议发布:
GNU Free Documentation License 1.3
数据库/leveldb/前缀查询.txt
· 最后更改: 2019/09/04 17:17 由
cgoxopx
页面工具
显示页面
修订记录
反向链接
回到顶部