代碼顯示std :: bad_alloc錯誤不知道如何刪除它消失的push_back時該怎麼辦。請幫助做什麼。這隻有當我輸入一個巨大的字符串時纔會發生,否則它運行得很好。在那裏找到所有可能的子串,lexicographicaly安排它們,然後concatinate它們放回一個字符串的另一個有效途徑????請幫助 日Thnx提前C++代碼顯示使用向量時的bad_alloc錯誤
#include <cmath>
#include <set>
#include <cstdio>
#include <vector>
#include <iostream>
#include<string>
#include <algorithm>
using namespace std;
bool sortByString(string &t1, string &t2)
{
return t1 < t2;
}
int main() {
string s,sub,i,c,q;
int T;
cin>>T;
while(T--){
cin >> s;
int length = s.length();
cin>>q;
vector<string> ss;
for (c = 0; c < length; c++)
{
for (i =length-c;i>=1; i--)
{
ss.push_back(s.substr(c,i));
}
}
s="";
set<string> se(ss.begin(),ss.end());
ss.assign(se.begin(),se.end());
vector<string>::iterator p;
for(p=ss.begin();p!=ss.end();++p)
s.append(*p);
cout<<s[q-1]<<endl;
}
return 0;
}
你輸入的字符串有多大? – therainmaker
句子。使用它們。 –
你使用什麼編譯器? 'i'被定義爲'string'類型。那是不對的。它應該是一個完整的類型。編譯器是否不產生任何錯誤或警告? 'c'也遭受同樣的問題。 –