
STL 容器接口系列译文
文章平均质量分 91
详细介绍STL中容器中所有接口的使用细节,并加入自己的些许理解以及例子
coderguang
个人主页:www.royalchen.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL set和multiset
STL 对这个序列可以进行查找,插入删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系,并且当游标指向一个已删除的元素时,删除操作无效。而一个经过更正的和更加实际的定义应该是:一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。这在收集一个数据的具体值的时候是有用的。集合中的元素按一定的顺序排列,并被作为集合中的实例。一个集合通过一个链表来组织,在插入操作转载 2014-09-26 22:19:23 · 1051 阅读 · 0 评论 -
STL系列之五 priority_queue 优先级队列
priority_queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,priority_queue也是以别的容器作为底部结构,再根据堆的处理规则转载 2014-09-26 22:10:57 · 1068 阅读 · 0 评论 -
STL stack
stack 介绍栈是一种容器适配器,特别为后入先出而设计的一种(LIFO ),那种数据被插入,然后再容器末端取出栈实现了容器适配器,这是用了一个封装了的类作为他的特定容器,提供了一组成员函数去访问他的元素,元素从特定的容器,也就是堆栈的头取出袁术。这个基础的容器可能是任何标准的容器类,和一些其他特殊设计的模板类,唯一的要求就是要支持一下的操作[cpp]转载 2014-09-28 09:02:59 · 1243 阅读 · 0 评论 -
STL queue
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。目录1简介2队列的基本运算3C++中的应用▪ 语法▪ 成员函数1简介编辑在队列这种数据结构转载 2014-09-26 21:49:11 · 1187 阅读 · 0 评论 -
标准模板库(STL)学习探究之Multimap容器
C++ Multimaps和maps很相似,但是MultiMaps允许重复的元素。(具体用法请参考map容器)函数列表:begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 count() 返回一个元素出现的次数 empty() 如果multimap为空则返回真 end() 返回一个指向multimap末尾的迭代器 equal_range() 返回指转载 2014-09-26 21:34:48 · 1085 阅读 · 0 评论 -
STL map
映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。转载 2014-09-26 21:20:08 · 1144 阅读 · 0 评论 -
STL list
就是一双向链表,可高效地进行插入删除元素。包括构造、方法等。目录1构造:2方法:1构造:编辑list c0; //空链表list c1(3); //建一个含三个默认值是0的元素的链表list c2(5,2); //建一个含五个元素的链表,值都是2list c4(c2); //转载 2014-09-26 21:11:47 · 1028 阅读 · 0 评论 -
STL forward_list
前向链表简介前向链表是用单链表实现的,可在常量时间内在链表中做插入或删除操作list比之forward_list,双向链表要消耗额外的空间存储每个元素和在插入和删除元素时一个轻微的更高的时间开销,所以forward_list更有效率,虽然只能向前遍历。forward_list是唯一的标准容器中故意不给出size()成员函数的,这样是为了更高效而考虑,可以用dis转载 2014-09-26 21:09:18 · 1313 阅读 · 0 评论 -
STL deque
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存de转载 2014-09-26 20:59:43 · 1157 阅读 · 0 评论 -
STL deque的crend方法(11)
原文地址:http://www.cplusplus.com/reference/deque/deque/crend/public member functionstd::deque::crendconst_reverse_iterator crend() const noexcept;Return const_reverse_iterator to re翻译 2014-09-01 14:35:52 · 1077 阅读 · 0 评论 -
STL deque的crbegin方法(10)
原文地址:http://www.cplusplus.com/reference/deque/deque/crbegin/public member functionstd::deque::crbeginconst_reverse_iterator crbegin() const noexcept;Return const_reverse_iterator翻译 2014-09-01 14:27:53 · 1043 阅读 · 0 评论 -
STL deque的clear方法(9)
public member functionstd::deque::clearC++98C++11void clear() noexcept;Clear contentRemoves all elements from the deque (which are destroyed), leaving the contain翻译 2014-09-01 14:23:32 · 4463 阅读 · 0 评论 -
STL deque的cend方法(8)
原文地址:public member functionstd::deque::cendconst_iterator cend() const noexcept;Return const_iterator to endReturns a const_iterator pointing to the past-the-end element in the翻译 2014-09-01 14:11:48 · 1167 阅读 · 0 评论 -
STL deque的方法cbegin(7)
public member functionstd::deque::cbeginconst_iterator cbegin() const noexcept;Return const_iterator to beginningReturns a const_iterator pointing to the first element in the conta翻译 2014-09-01 13:49:12 · 1347 阅读 · 0 评论 -
STL deque的begin方法(6)
原文地址:http://www.cplusplus.com/reference/deque/deque/begin/public member functionstd::deque::beginC++98C++11 iterator begin() noexcept;const_iterator begin() const n翻译 2014-09-01 13:38:49 · 1694 阅读 · 0 评论 -
STL deque的back方法(5)
原文地址:public member functionstd::deque::back reference back();const_reference back() const;Access last elementReturns a reference to the last element in the container.翻译 2014-09-01 13:30:34 · 5343 阅读 · 0 评论 -
STL deque的at方法(4)
原文地址:public member functionstd::deque::at reference at (size_type n);const_reference at (size_type n) const;Access elementReturns a reference to the element at position n翻译 2014-09-01 13:19:12 · 2550 阅读 · 0 评论 -
STL deque的方法assign(3)
原文地址:http://www.cplusplus.com/reference/deque/deque/assign/public member functionstd::deque::assignC++98C++11range (1)template void assign (InputIterator f翻译 2014-09-01 13:06:08 · 2110 阅读 · 0 评论 -
STL deque的构造函数(2)
http://www.cplusplus.com/reference/deque/deque/deque/原文地址:public member functionstd::deque::dequeC++98C++11C++14default (1)explicit deque (const allocator_t翻译 2014-09-01 10:41:06 · 1596 阅读 · 0 评论 -
STL deque的介绍(1)
class templatestd::dequetemplate > class deque;Double ended queuedeque (usually pronounced like "deck") is an irregular acronym of double-ended queue. Double-ended queues are sequ翻译 2014-09-01 10:00:05 · 1166 阅读 · 1 评论 -
STL array方法总结(三)Element access(22)
这里是array方法的一些总结,具体的可以看后面的链接:public member functionstd::array::operator[] reference operator[] (size_type n);const_reference operator[] (size_type n) const;返回array容器中位置为原创 2014-08-30 21:12:48 · 1081 阅读 · 0 评论 -
STL array方法总结(二)Capacity和Modifiers(21)
这里是array方法的一些总结,具体的可以看后面的链接:public member functionstd::array::sizeconstexpr size_type size() noexcept;返回array里面元素的数目。ParametersnoneReturn Valuearray中元素的数目。原创 2014-08-30 20:59:39 · 1109 阅读 · 0 评论 -
STL array方法总结(一)Iterators(20)
这里是array方法的一些总结,具体的可以看后面的链接:public member functionstd::array::begin iterator begin() noexcept;const_iterator begin() const noexcept;返回一个指向array容器第一个元素的iterator.原创 2014-08-30 20:52:15 · 1689 阅读 · 0 评论 -
STL array的swap方法(19)
原文地址:http://www.cplusplus.com/reference/array/array/swap/public member functionstd::array::swapvoid swap (array& x) noexcept(noexcept(swap(declval(),declval())));Swap contentEx翻译 2014-08-30 16:22:01 · 2060 阅读 · 0 评论 -
STL array的size方法(18)
原文地址:public member functionstd::array::sizeconstexpr size_type size() noexcept;Return sizeReturns the number of elements in the array container.The size of an array object翻译 2014-08-30 15:57:53 · 2085 阅读 · 0 评论 -
STL array的rend方法(17)
原文地址:http://www.cplusplus.com/reference/array/array/rend/public member functionstd::array::rend reverse_iterator rend() noexcept;const_reverse_iterator rend() const noexcept;翻译 2014-08-30 15:40:58 · 1045 阅读 · 0 评论 -
STL array的rbegin方法(16)
原文地址:http://www.cplusplus.com/reference/array/array/rbegin/public member functionstd::array::rbegin reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexc翻译 2014-08-30 15:15:36 · 1298 阅读 · 0 评论 -
STL array的operator[]方法(15)
原文地址:http://www.cplusplus.com/reference/array/array/operator[]/public member functionstd::array::operator[] reference operator[] (size_type n);const_reference operator[] (size_ty翻译 2014-08-30 14:38:19 · 1241 阅读 · 0 评论 -
STL array的max_size方法(14)
原文地址:http://www.cplusplus.com/reference/array/array/max_size/public member functionstd::array::max_sizeconstexpr size_type max_size() noexcept;Return maximum sizeReturns the ma翻译 2014-08-30 14:25:04 · 2042 阅读 · 0 评论 -
STL array的front方法(13)
public member functionstd::array::front reference front();const_reference front() const;Access first elementReturns a reference to the first element in the array container.翻译 2014-08-30 14:10:21 · 1225 阅读 · 0 评论 -
STL array的fill方法(12)
原文的public member functionstd::array::fillvoid fill (const value_type& val);Fill array with valueSets val as the value for all the elements in the array object.Parameters翻译 2014-08-30 14:00:06 · 2780 阅读 · 0 评论 -
STL array中的end方法(11)
public member functionstd::array::end iterator end() noexcept;const_iterator end() const noexcept;Return iterator to endReturns an iterator pointing to the past-the-end eleme翻译 2014-08-30 13:48:29 · 1663 阅读 · 0 评论 -
STL array的empty方法(10)
public member functionstd::array::emptyconstexpr bool empty() noexcept;Test whether array is emptyReturns a bool value indicating whether the array container is empty, i.e. whether翻译 2014-08-27 23:50:04 · 2442 阅读 · 0 评论 -
STL vector<bool>总结
这里是vector的总结,详细原文可看后面链接。class template specializationstd::vectortemplate > class vector; // generic templatetemplate class vector; // bool specialization这是特别为了当元原创 2014-08-27 16:12:32 · 3443 阅读 · 0 评论 -
STL vector总结(六)Others(39)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。public member functionstd::vector::get_allocatorC++98C++11allocator_type get_allocator() const noexcept;Get allocator原创 2014-08-27 15:57:39 · 711 阅读 · 0 评论 -
STL vector总结(五)Modifiers(38)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。public member functionstd::vector::assignC++98C++11range (1)template void assign (InputIterator first, InputItera原创 2014-08-27 15:52:58 · 1201 阅读 · 0 评论 -
STL vector总结(四) Element access(37)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。原文地址:http://www.cplusplus.com/reference/vector/vector/operator[]/public member functionstd::vector::operator[] reference operator[] (原创 2014-08-27 14:31:19 · 1060 阅读 · 0 评论 -
STL vector总结(三)Capacity(36)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。原创 2014-08-27 12:44:58 · 1183 阅读 · 0 评论 -
STL vector方法总结(二)Iterators(35)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。public member functionstd::vector::beginC++98C++11 iterator begin();const_iterator begin() const;该方法返回一个指向该vecto原创 2014-08-27 11:25:45 · 1394 阅读 · 0 评论 -
STL vector方法总结(一)Member functions(34)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。容器:Vector原型:template > class vector; 描述:vector是一种顺序容器,其行为类似于大小可以改变的array数组。跟array一样,vector使用连续的存储单元来存储里面的元素。这意味着vector可以使用正常的指针的偏移量来访问其元素。它跟array一样的高原创 2014-08-27 11:03:56 · 1683 阅读 · 0 评论