Most optimal way to remove an index from an vector-like data structure without copying data in C++
The problem:
I need to create a simple vector or vector-like data structure that has indexable access, for example:
arr[0] = 'a';
arr[1] = 'b';
//...
arr[25] = 'z';
From this structure, I would like to remove some index, for example index [5]
The actual value at the index does not need to be erased from memory, and the values should not be copied anywhere, I just need the indexes of the data structure to re-arrange afterward, so that:
arr[0] = 'a';
//...
arr[4] = 'e';
arr[5] = 'g';
//...
arr[24] = 'z';
Is std::vector the best data structure to use in this case, and how should I properly remove the index without copying data? Please provide code.
Or is there a more optimal data structure that I can use for this?
Note, I am not intending on accessing the data in any other way except through the index, and I do not need it to be contiguously stored in memory at any time.
Comments
Post a Comment