for (size_t i=0; i<Schar.size(); i++) {
state2aa.push_back(std::vector<aa>(Schar[i].size()));
- std::vector<aa> last = state2aa.back();
+ std::vector<aa> &last = state2aa.back();
for (size_t j=0; j<Schar[i].size(); j++) {
- last.push_back(str2aa.at(Schar[i][j]));
+ last[j] = str2aa.at(Schar[i][j]);
+ // could have used reserve() above and then push_back() here but eh
}
// move the first element to last place, because that is how states are ordered
std::rotate(last.begin(),++last.begin(),last.end()); // could have used std::next() but eh