变位词的实现

来源:互联网 发布:关于网络语言暴力 编辑:程序博客网 时间:2024/06/02 02:29
本程序利用C++中的STL来实现,可能效率低。
#include<iostream>#include<map>#include<string>#include<fstream>#include<cassert>#include<set>#include<algorithm>using namespace std;int main(){multimap<string,string> word;set<string>sig;ifstream in("1.txt");assert(in);string s;while(in>>s){string change=s;sort(change.begin(),change.end());sig.insert(change);word.insert(make_pair(change,s));cout<<change<<" "<<s<<endl;}set<string>::iterator com;multimap<string,string>::iterator pos;for(pos=word.begin();pos!=word.end();pos++){cout<<pos->first<<" "<<pos->second<<endl;}cout<<endl;multimap<string,string>::iterator pot;for(com=sig.begin();com!=sig.end();com++){for(pot=word.begin();pot!=word.end();pot++){if(*com==pot->first)cout<<pot->second<<" ";}cout<<endl;}return 0;}

原创粉丝点击