在我的算法中,我需要保留(3個字節)擴展ASCII字符的所有組合。以下是我的代碼但是當我運行這段代碼時,程序在終端發生最後一步時會死亡(BigVector.pushback)。爲什麼這樣,以及在我的情況下可以選擇什麼?死亡程序:使用向量集矢量
vector<set<vector<int> > > BigVector;
set<vector<int> > SmallSet;
for(int k=0; k <256; k++)
{
for(int j=0; j <256; j++)
{
for(int m=0; m <256; m++)
{
vector<int> temp;
temp.push_back(k);
temp.push_back(j);
temp.push_back(m);
SmallSet.insert(temp);
}
}
}
BigVector.push_back(SmallSet);
PS:我要保持ASCII字符這樣的: {{(A,B,C),(A,B,d),......(Z,Z,Z )}}
有多大你的籌碼? – Johnsyweb
這是算法類嗎?如果是這樣,你應該重新考慮這個數據結構,因爲它非常低效。 – Potatoswatter
@Patatoswatter我必須做一個大集合,其中包含子集。每個子集可能包含一個或多個像這樣的集合(a,b,c)等。這就是爲什麼我使用這個數據結構。你能給我一些建議嗎? – Xara