容器的测试结构

时间:2011-10-15 19:46:20

标签: c++

我想构建一个测试结构来测试数组,向量,列表,映射和unordered_maps。基本上我想用大量的随机数据填充每个结构。我想对这些进行3次测试。我希望能够看到插入和搜索的大O趋势。

问题是我应该将随机数据集存储在.txt文件中还是直接将数据泵入容器?

我想我会把它保存到磁盘上,这样我就能看到它的样子但是我想知道什么类型的文件大小会破坏容器......这样做是否可行?

由于时间函数不精确,数据集越大,获得平均插入和搜索时间就越容易。

  1. 填充直到休息
  2. 计算插入时间
  3. 计算搜索时间

1 个答案:

答案 0 :(得分:2)

文本文件与在代码中生成数据完全取决于你......

就STL限制而言,您可以使用vector::max_size,这也可以为数组提供良好的基准,因为向量是动态数组。此功能也适用于列表和地图。

这里的关键是你是否还要测量插入时动态增长所需的时间。如果您只是声明一个向量并开始插入,我相信每次达到当前分配限制时它会加倍。或者,您可以使用vector::reserve将当前分配设置为预定义数据集的大小。