这是我的代码:
sort(S1.begin(), S1.begin()+4);
for ( int i = 0; i < S1.capacity(); i++ )
cout << S1[i]<<endl;
我得到了这个: 一个 AA AAB AB b 一个 AA AAC AC ç
但我应该得到这个: &#34; a&#34;,&#34; aa&#34;,&#34; aab&#34;,&#34; aac&#34;,&#34; ab&#34;,&#34; ac& #34;,&#34; b&#34;,&#34; c&#34;
我做错了什么?
答案 0 :(得分:1)
结束迭代器不正确 - 您应该使用S1.end()
而不是S1.begin()+4
。
答案 1 :(得分:0)
end()
迭代器。size()
这可能更像预期的
sort(S1.begin(), S1.end());
for ( int i = 0; i < S1.size(); i++ ) {
cout << S1[i] << endl;
}
你也可以:
std::size_t
代替(已签名)int
++i
代替
i++
但这些只是细节。