stl
文章平均质量分 77
bluesky_03
ios/android,多媒体、网络,算法与设计模式
展开
-
about vector
先习惯大量使用std::vector吧。class CTest {};CTest array_test[ 3 ]; // 这里将三次调用CTest的构造函数来对数组的每个无素进行初始化.以上数组不如用vector来代替,但以下的写法不好:vector vector_test( 3 ); 这里会发现,先调用了一次CTest的一般构造函数,再调用三次CTest的拷贝构造函数,最后调用一次析原创 2008-04-15 08:43:00 · 479 阅读 · 0 评论 -
about map
std::map内置的数据结构是红黑树。一般在对大量数据进行频繁的插入或删除和查找时,才考虑用上二叉树,甚至在考虑快速查找时用上hash_map。如果数据量很少,那就用vector,此时效率已经不是考虑的因素。map的优势是,在给定key value时,能够快速找到mapped value,另外,它的使用有时可以简化算法和简化编写代码的难度。vector的优势是,在给定相对或绝对位置时原创 2008-04-15 19:52:00 · 624 阅读 · 0 评论 -
std::list
list内置的数据结构是双向链表,它需要额外的内存开销。list相对vector等容器来说,它的优点是,能在任意位置,快速的插入和删除一个元素(常数时间)。如果总是在容器的末尾插入元素,那用vector会更快。list快速插入的优势是在容器比较大的时候才能体现出来的。list 是线性表,但非排序表(即有内置的排序规则),而set、map等是排序表。以下是一个使用例子:/// t原创 2008-04-21 13:47:00 · 5881 阅读 · 1 评论 -
about set
// TEMPLATE STRUCT lesstemplate struct less : public binary_function { // functor for operator bool operator()(const _Ty& _Left, const _Ty& _Right) const { // apply operator return (_Left } };原创 2008-08-06 20:41:00 · 472 阅读 · 0 评论 -
set的使用简例
//set的一个使用测试程序:#include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int arr[3] = { 1, 2, 3 }; set set_test( arr, arr + 3 ); //insert set_test.insert( 3 ); //3已原创 2008-08-06 20:44:00 · 533 阅读 · 0 评论 -
std::map的简单使用例子
std::map map_test; { double a1 = 0.12; double a2 = 0.12; double a3 = 0.19; std::map::iterator it; if ( (it = map_test.find(a1)) != map_test.end() ) { (*it).second ++; } else map_test.insert原创 2008-08-25 19:08:00 · 3257 阅读 · 0 评论