Vector<int> v;
int i=0;
while(i!=999)
{
cin>>i;
v.push_back(i);
}
当输入数量变化时,这段代码所花费的时间可能会有所不同。由于向量将按照摊销时间进行新分配。即使是相同的大小,不同时间的节目也可能需要不同的时间。
建议更改(例如使用列表而不是向量),这使得时间成为输入数量的函数。
答案 0 :(得分:0)
在使用矢量的当前版本中,时间已经是输入数量的函数,以及用户输入每个值所需的时间。
在这种情况下,cin完成的I / O比将项目添加到任何类型的容器要贵得多,容器类型几乎肯定不会重要。而不是尝试优化插入的容器类型,而是考虑哪个容器提供您实际需要的属性。