STL
文章平均质量分 57
fisher_jiang
这个作者很懒,什么都没留下…
展开
-
详细解说STL hash_map系列
0 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后原创 2006-04-01 10:43:00 · 2942 阅读 · 0 评论 -
Map用法
来源:http://www.51course.com/index.php?option=com_content&task=view&id=70&Itemid=311. map的构造函数map共提供了6个构造函数,这块涉及到内存分配器这些东西,略过不表,在下面我们将接触到一些map的构造方法,这里要说下的就是,我们通常用如下方法构造一个map:Map mapStudent;转载 2011-10-23 11:39:01 · 5788 阅读 · 1 评论 -
STL auto_ptr智能指针简单分析
程序人生 >> STL auto_ptr智能指针简单分析:auto_ptr是STL里面的智能指针(Smart Pointer),一个很好的优点就是指针所有权自动转移和指针自动删除技术。对于异常和经常忘记delete的情况来说很实用。下面就是从SGI官方转载 2011-10-10 09:02:02 · 830 阅读 · 0 评论 -
STL标准模板库 list的使用
ZZ 李木空间 www.limou.netlist的使用在使用list必须包括头文件#include 如何定义一个list对象#include int main (void){ list cList; //声明了list模板类 的一个实例}使用li转载 2011-10-05 21:27:49 · 3747 阅读 · 0 评论 -
大规模数据对 vector 和 map 的压力
平时的机器上跑个小程序,几百条数据,基本不会发现容器之间的差别。这也可能是许多人不去关心容器底层的原因。这篇文章是我拿到一个简历,上面写到精通STL,遂想出这个问题,让其来分析一下。(每次面试问过的我都公开,不问重复的 ^D)如果我们有超过十亿个用户自定义的对象 People,每个对象大小暂定12字节,那么分别用 vector 和map存储,在查找上性能有什么差别。C++标准规定 ve转载 2008-09-30 11:49:00 · 1567 阅读 · 0 评论 -
vector中的erase方法跟algorithm的remove有什么区别?
vector中erase是真正删除了元素, 迭代器访问不到了。 algorithm中的remove只是简单的把要remove的元素移到了容器最后面,迭代器还是可以访问到的。因为algorithm通过迭代器操作,不知道容器的内部结构,所以无法做到真正删除。vector array;array.erase(remove(array.begin(),array.end(),6),array.end(原创 2008-05-24 11:35:00 · 3235 阅读 · 0 评论 -
Recaman's Sequence
问题描述: The Recamans sequence is defined by a0 = 0 ; for m > 0, am = am-1 - m if the rsulting am is positive and not already in the sequence, otherwise am = am-1 + m.The first few numbers in t原创 2006-04-21 14:49:00 · 2458 阅读 · 4 评论 -
支付帐单问题
题目描述比尔最近遇到了一件麻烦事。每天上午,他会收到若干张帐单(也可能一张也没收到), 每一张都有一定的面额。下午,他会从目前还没有支付的帐单中选出面额最大和最小的两张,并把它们付清。还没有支付的帐单会被保留到下一天。现在比尔已经知道他每天收到帐单的数量和面额,请你帮他给出支付的顺序。输入格式第1 行:一个正整数N(N≤30,000),表示总共的天数。第2 行到第N+1 行:每一行描述原创 2006-04-21 14:33:00 · 1449 阅读 · 0 评论 -
STL中仿函数(functors)、类成员和mem_fun的使用
STL中仿函数(functors)、类成员和mem_fun的使用作者: winter 众所周知,STL使用起来非常方便,其中仿函数(functor)扮演了一个非常重要的角色。灵活运用仿函数的使用对于发挥STL强大功能非常关键。本文详细介绍了如何使用mem_fun和mem_fun1来绑定类成员函数,使之成为functor什么是仿函数?就是一个重载了"()"运算符的struct,例如:st转载 2006-04-01 10:44:00 · 1315 阅读 · 0 评论 -
vectors改进内存的再分配
C++中用vectors改进内存的再分配 摘要:本文描述的是一种很常见的情况:当你在某个缓存中存储数据时,常常需要在运行时调整该缓存的大小,以便能容纳更多的数据。本文将讨论如何使用 STL 的 vector 进行内存的再分配。 这里描述的是一种很常见的情况:当你在某个缓存中存储数据时,常常需要在运行时调整该缓存的大小,以便能容纳更多的数据。传统的内存再分配技术非常繁琐,而且容易出错:在 C转载 2006-04-01 10:39:00 · 1087 阅读 · 0 评论 -
详细解说 STL 排序(Sort)
* 详细解说 STL 排序(Sort) o 0 前言: STL,为什么你必须掌握 o 1 STL提供的Sort 算法 + 1.1 所有sort算法介绍 + 1.2 sort 中的比较函数 + 1.3 sort 的稳定性 + 1.4转载 2006-04-01 10:42:00 · 1460 阅读 · 0 评论 -
详细解说STL string
详细解说STL string 前言: string 的角色 1 string 使用 1.1 充分使用string 操作符 1.2 眼花缭乱的string find 函数 1.3 string insert, replace, erase 2 string 和 C风格字符串 3 string 和 Charactor Traits 4 string 建议 5 小结 6 附录前言: string 的转载 2006-04-01 10:46:00 · 3889 阅读 · 0 评论 -
STL sort学习笔记
1 所有sort算法介绍 所有的sort算法的参数都需要输入一个范围,[begin, end)。这里使用的迭代器(iterator)都需是随机迭代器(RadomAccessIterator), 也就是说可以随机访问的迭代器,如:it+n什么的。(partition 和stable_partition 除外)如果你需要自己定义比较函数,你可以把你定义好的仿函数(functor)作为参数传入。转载 2011-11-16 23:34:47 · 4489 阅读 · 0 评论