Предложить изменения, чтобы сделать время функцией размера ввода - PullRequest
0 голосов
/ 16 апреля 2010
Vector<int> v;
int i=0;
while(i!=999)
{
    cin>>i;
    v.push_back(i);
}

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

Предложить изменения (например, использовать список вместо вектора), что делает время функцией количества входных данных.

1 Ответ

0 голосов
/ 03 мая 2010

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

В этом случае ввод-вывод, выполняемый cin, будет намного дороже, чем добавление элемента в любой вид контейнера, что тип контейнера почти наверняка не будет иметь значения. Вместо того, чтобы пытаться оптимизировать тип контейнера для вставки, вместо этого подумайте, какой контейнер предоставляет свойства, которые вам действительно нужны.

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