STL(Standard Templete Library)活动模板库已被广泛地应用于各种C++程序的开发中,STL中vector、list、map等列表极大地方便了我们日常的开发,不再需要我们去实现链表等数据结构,使用这些列表能基本能解决开发过程中遇到的各种问题。网上关于STL的文章比较多,今天我们就来说说在存放大量数据时我们该如何提升STL列表搜索速度。
1、概述
当vector、list等STL列表中存放的数据量比较大时,去遍历列表去搜索,效率就是个问题了。如果只是简单地使用for循环去遍历STL列表搜索,速度可能会很慢,一般很难达到快速搜索的要求。那有没有什么办法能有效提升STL的搜索速度呢?答案是肯定的,可以调用STL库的算法函数去进行STL列表的搜索,能够明显提升STL列表的搜索速度。STL库自带的算法函数有conut、count_if、find、find_if、remove_copy、remove_copy_if等。这些STL算法函数的详细说明可以参见《STL源码剖析》一书的第6章。
本文将详细讲述使用STL算法函数find_if和remove_copy_if有效提升搜索速度的范例,给大家提供一个参考。