qt c++map快速查找

#include

#include

#include


int main(int argc, char *argv[])

{

QTime time;

std::map mapFind;

for (quint64 i = 0; i < 100 * 100 * 100; i++)

{

mapFind[i] = i + 1;

}

// 查找mapFind是否包含值999999

// 未使用find的时候,代码如下

time.start();

for (std::map::iterator ite = mapFind.begin(); ite != mapFind.end(); ite++)// 通过循环查找999999

{

if (ite->first == 999999)

{

qDebug() << "未使用find,所需查找时间为:" << time.elapsed() << "ms";

break;

}

}


// 使用find的时候,代码如下

time.start();

if (mapFind.find(999999) != mapFind.end())// 查找999999,如果没有到末尾,就找到

{

qDebug() << "使用find,所需查找时间为:" << time.elapsed() << "ms";

}


return 0;

}


结果输出:

未使用find,所需查找时间为: 48 ms

使用find,所需查找时间为: 0 ms


总结:使用find的,在数据量大的时候,进行查找可以节省大量的时间

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章