变位词
来源:互联网 发布:淘宝p图兼职 编辑:程序博客网 时间:2024/06/10 09:38
题目:找到词典中某词的变位词 源自编程珠玑 程序是自己的想法和思路 与书一样纯属巧合
程序:不能运行 只有关键函数 和类
#include<cstring>
#include<vector>
using namespace std;
const char UNSET='0';
const char SET='1';
const string NEW="000000000000000000000000000";
const int GAP=32;
vector<string> id_map;
class sto_wor
{
private:
string wor;
string mea;
string id;
public:
sto_wor(){id=NEW;}
~sto_wor(){}
string get_wor(){return wor;}
string get_mea(){return mea;}
string get_id(){return id;}
void set_wor(const string& tem){wor=tem;}
void set_mea(const string& tem){mea=tem;}
void set_id();
bool operator==(sto_wor&);
friend void to_low(string&);
};
void sto_wor::set_id()
{
to_low(wor);
for(int i=0;i<wor.length();i++)
{
id[wor[i]-'a'+1]++;
}
id[0]=SET;
}
bool sto_wor::operator==(sto_wor& sec)
{
if(id[0]==UNSET)
set_id();
if(sec.id[0]==UNSET)
sec.set_id();
return id==sec.id;
}
void to_low(string& aim)
{
for(int i=0;i<aim.length();i++)
{
if(aim[i]<'Z')
aim[i]+=GAP;
}
}
void sea_wor(sto_wor& aim)
{
int low=0;
int hig=id_map.size();
while(low<=hig)
{
mid=(low+hig)/2;
if(aim.get_id()<id_map[mid])
hig=mid-1;
else if(aim.get_id()>id_map[mid])
low=mid+1;
else cout<<"something";
}
cout<<"something else";
}
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 链表 变位词 anagram
- FOJ 1410 变位词
- FZU 1410 变位词
- FZU 1410 变位词
- 变位词问题
- 变位词问题
- 变位词问题
- 变位词的实现
- Anagrams 变位词
- 变位词实现
- 计算变位词
- phpMyAdmin出现无法载入 mcrypt 扩展,请检查 PHP 配置的解决方法
- Python multiprocessing 使用手记[2] – 跨进程对象共享
- 分割字符串方法-split(String str)的注意点
- 程序员理解“云计算”入门:从桌面开发到互联网开发的思维转变
- 【转帖】中国的软件业为什么失败?!
- 变位词
- Python multiprocessing 使用手记[3] – 关于Queue
- 多cpu(多核)下让cpu占用率成正弦曲线
- 几个比较稳定可靠的网络硬盘(免费)
- JS无间隔滚动代码(三种效果)
- 浅论Hibernate分页的“真”与“假”
- 学习带参数的main函数
- compiz 特效
- Fedora 10安装Compiz-fusion 3D效果方法