【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0075デフォルトの名無しさん
2015/02/18(水) 16:26:10.71ID:dFtyN/e5要素の途中を削除すると後ろの要素を全部前につめるようにコピーしなおすからそれが時間食う
要素の半分くらいの数を一度に削除したいとか、そういう、削除が多すぎる場合は一旦nullでも入れといて
二本目のvectorに手動で移すようなのがまだマシかもね
v[j] = null; v[k] = null; // ....
for (int i = 0; i < v.size(); i++) if (v->at(i) != null) v2->push_back(v->at(i));
v->clear(); // 一気に全要素削除
t = v;v = v2;v2 = v; // 場合によってはこういう差し替えをしてもいいかも
あくまでvectorでやりたい場合は、ってことで
■ このスレッドは過去ログ倉庫に格納されています