Существует ли технический термин для замены элемента в векторе на последний элемент указанного вектора? - PullRequest
0 голосов
/ 05 октября 2011

Я часто так поступаю, но не знаю, как это назвать.Концептуально, по крайней мере для меня, я удаляю элемент из вектора, и в качестве побочного эффекта, по соображениям оптимизации, последний элемент вектора занимает свое место.

Конечно, эта процедура имеет правильное имя?Пожалуйста, просветите меня, чтобы я не писал RemoveElementAndReplaceWithLastItem метод.

Ответы [ 3 ]

1 голос
/ 07 декабря 2012

Я не верю, что есть общий термин для того, что вы делаете.Но для вашего очень конкретного случая использования я бы предложил назвать функцию исходя из ваших намерений, а не из того, что делает операция.Как вы сказали, эта операция является побочным эффектом, а то, что вы действительно делаете, это удаление из середины.

Поэтому я бы предложил назвать функцию: fast_delete(или quick_remove, на ваше усмотрение).

Затем в комментарии к реализации функции вы описываете механизм быстрого удаления: замену удаленного элемента последним элементом.Вы должны даже упомянуть то, что вы сказали выше о том, почему вы думаете, что делаете это быстрее, и что операция не гарантирует, что список останется в том же порядке, что и раньше.

0 голосов
/ 07 декабря 2012

Вы можете назвать свой метод / функцию следующим образом:

replaceInPlace: anElement

или для вашего конкретного языка

replaceInPlace(anElement)
0 голосов
/ 07 декабря 2012

Ваша функция должна вызываться одним из следующих:

  • ReplaceWithLast()

  • MoveLastTo()

  • ConvertQtoPQ()

Как при преобразовании очереди в PriorityQueue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...