您的位置:首页 > 其它

向量与动态数组的存储速度比较

2013-05-02 15:12 155 查看

试验了20000*2000的float数据分别在向量和动态数组上的存储速度,前者所用时间是后者的47倍。

实验的结果如下图:1s的是数组;47s的是向量。



所以,要想速度快,还是选用动态数组。

实验代码如下:

#include <ctime>

#include <iostream>

#include <vector>

using namespace std;

int main()

{

time_t timep;

string st;

timep=time(NULL);

st=ctime(&timep);

string st1=st;

float** TdimArry;

TdimArry=new float* [20000];

for (int i=0;i<20000;i++)

{

TdimArry[i]=new float [2000];

for (int k=0;k<2000;k++)

TdimArry[i][k]=2.0;

}

for (i=0;i<20000;i++)

delete [] TdimArry[i];

TdimArry=NULL;

timep=time(NULL);

st=ctime(&timep);

cout<<st1;

cout<<st;

st1=st;

vector< vector<float> > vec;

vector<float> vec1;

for (i=0;i<20000;i++)

{

vec.push_back(vec1);

for (int j=0;j<2000;j++)

vec[i].push_back(2.0);

}

timep=time(NULL);

st=ctime(&timep);

cout<<st1;

cout<<st;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: