Moving a vector element to the back of the vector

后端 未结 3 859
闹比i
闹比i 2021-02-12 14:45

Is there any better way (either faster or with fewer symbols of code) than erasing the element and re-adding it to the back?

template 
void mov         


        
3条回答
  •  广开言路
    2021-02-12 15:18

    You can avoid the extra variable.

    v.push_back(v[itemIndex]);
    v.erase(v.begin() + itemIndex);
    

    If you delete frequently from the middle of the vector and can rewrite your code so that it doesn't require random access, you may be able to improve efficiency by using a linked list (std::list) instead.

提交回复
热议问题