在C++中我有字符串向量的比較排序和刪除
vector < vector <string> > Kblist;
內Kblist
,有很多條款,並clauses=kblist.size();
和側Kblist
每一個條款編號是一個字符串類型的載體,對句子每個單詞分成。
什麼是找到了,像"I love you"
和其他在"you love i"
同一單詞的句子,從Kblist
刪除這兩個句子,我的代碼可能是工作運行的最快的途徑,但我認爲這是因爲太慢許多流通。所以我不知道是否有更好的解決方案,比如使用排序,clause1==clause2
或其他方法。
for (int a=0; a<KBlist.size(); a++){
for (int b=a+1; b<KBlist.size(); b++){
int checksize=0;
if (KBlist[a].size()==KBlist[b].size()) {
for (int c=0; c<KBlist[a].size(); c++){
for (int d=0; d<KBlist[b].size(); d++){
if (KBlist[a][b]==KBlist[c][d]&&KBlist[a][b+1]==KBlist[c][d]) {
checksize=checksize+1;
break;
}
}
}
if (checksize==c.size()) {
inset=1;
break;
}
}
}
}
}while (duplicate==0);