
STL
文章平均质量分 78
whm2300
这个作者很懒,什么都没留下…
展开
-
vc6.0 下关于vector的建议(reserve())
在看STL标准库时,作者曾说,STL中vector几乎以一种哲学的方式管理其容量的大小,所以在谈到分期摊坏的复杂度时,几乎是可以不考虑的。但在vc6.0中则不然(vc6.0对STL不完美支持是总所周知的)。代码如下:int main(){ std::vector coll;// coll.reserve(100); coll.push_back(Person("test"));原创 2013-02-28 21:59:00 · 1285 阅读 · 0 评论 -
Introsort STL快排改进
STL 中sort的实现就是用的introsort,是对quicksort的一种改进,因为quicksort在某些情况下会是N^2复杂度。以下内容为转帖:STL(Standard Template Library)的算法据说是经过精心优化的。那么在它的排序算法方面做了哪些优化呢? 自从快速排序算法出世以后,从平均性能上来说,除了在数据量极少( 一个最简单的混合算法就是在转载 2013-02-26 19:53:52 · 586 阅读 · 0 评论 -
C++之预定义类型IO格式控制
在C语言里,我们可以通过函数printf和scanf来进行格式化控制。而在C++中仍然包含了前者,但还提供了以下两种格式控制的方法:(1)使用流成员函数进行格式控制;(2)使用预定义操作符进行格式控制。下面我来一一介绍: 1.流成员函数主要是指ios类(流基类)中的,分别有:(1).设置状态标志流成员函数setf一般格式:long ios::setf(long flags转载 2013-04-02 21:35:40 · 649 阅读 · 0 评论 -
hash_map
几句话道出map和hash_map的区别1. STL map is an associative array where keys are stored in sorted order using balanced trees. While hash_map is a hashed associated container, where keys are not stored in an转载 2013-03-21 22:34:40 · 597 阅读 · 0 评论 -
提高字符串为键的哈希表的性能
ext/hash_map:进一步提高字符串为键的哈希表的性能 当我们在ext/hash_map使用string或const char*为键的时候,通常需要使用一个HASH函数将字符串转换为一个32位的整型值,然后再与一个大质数取模,最终将节点分布到不同的桶里面去。 可是,当我们作为键的字符串很长时,每次进行插入、查找和删除操作的时候,字符串都要调用一次HASH函数。于是可转载 2013-03-21 22:51:30 · 808 阅读 · 0 评论 -
fstream的用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)转载 2013-04-07 21:52:06 · 463 阅读 · 0 评论 -
C++STL容器使用经验总结
第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_mult转载 2013-12-11 10:58:18 · 544 阅读 · 0 评论 -
ofstream和wofstream与中文输出问题
使用C++标准库的iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表示作为流来处理,但要处理中文,却会碰到很多问题。本人原来没怎么用过这个iostream,这几天尝试用这个写点东西,一会儿不能输出中文,一会儿不支持中文文件名的,搞得头大。网上搜了搜,没有发现适用于所有情况的解决方案。不过后来自己经过多次测试,基本解决了这些问题,现在写成文字作为一个总结,也供碰到同样问题的朋友转载 2014-01-08 16:05:19 · 780 阅读 · 0 评论