STL
wbprime
Blablabla
展开
-
STL学习笔记之 (四)容器 list
list,即俗称的双向链表,通过前向指针和后向指针将所有元素联系在一起。list实现了在任意位置插入、移动和删除元素的高效;但是对于元素的随机访问则无能为力。使用size()可以知道list中已经存放的元素个数,max_size()可以知道可存放元素的最大个数。resize(size_type)可以来调整list的大小。empty()可以用来查看list是否为空。front()和bac原创 2012-07-24 21:04:16 · 312 阅读 · 0 评论 -
STL学习笔记之 (三)容器 deque
deque,即double end queue,双向队列。不同的平台会提供不同版本的deque实现策略,但归结起来,deque应该是一种指针数组实现。使用deque可以实现元素的随机访问和遍历,同时在起始端和末端插入和删除元素的效率很高;但是,在中间部分插入和删除元素会导致很低的工作效率。deque的内存使用可能是分块存储的,这样可以避免大块内存的重新分配。使用size()可以知道原创 2012-07-24 20:46:25 · 898 阅读 · 0 评论 -
STL学习笔记之 (二)容器 vector
STL,即Standard Template Library,是C++自带的标准模板库。主要由Alexander Stepanov开发完成,现在已成为C++的一个重要组成部分和特色之处。STL使用了模板机制,将C++编程分解为了三个相互之间独立的部分:数据类型(基本数据类型、类和结构体)、容器(数组和新的STL容器类)以及算法(Algorithm)。按照权威介绍,STL由为5个主要的部分组原创 2012-07-24 20:34:31 · 611 阅读 · 0 评论 -
STL学习笔记之 (五)容器 vector deque list 使用条件
根据vector、deque和list的相关特点,在实际应用中使用的准则如下:需要频繁地随机访问容器内的元素:vector已知需要存储元素的个数:vector需要在容器的中间部分插入或者删除元素:list同时需要在首尾插入删除元素:deque容器的选择主要是看实际应用的需求,主要是操作的频繁性:在相关中间插入操作不频繁的情况下,vector也可以提供list相似的效率;和数据量的大小:原创 2012-07-24 21:19:49 · 513 阅读 · 0 评论 -
STL学习笔记之 (一)模版
最近写了一堆的Qt程序,突然想要重新搞一遍STL。这一次要正规起来,认真做好笔记的记录工作。模版,template,出现的目的就在于减少程序员的工作量,将一些功能相似的函数或者类抽象出来,成为一个模板函数或者模板类。比如最简单的例子,实现交换两个数的函数swap。void swap(int& a, int& b){ int tmp = a; a = b; b = tmp;原创 2012-07-24 19:32:34 · 338 阅读 · 0 评论