
STL 快速入门(完整代码)
文章平均质量分 81
synapse7
这个作者很懒,什么都没留下…
展开
-
C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
一、简介Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在O(1)内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是O(N)。Constructors构造函数Operators对vector进行赋值或比较assign()对Vector中的元素赋值原创 2013-08-04 20:52:38 · 5260 阅读 · 4 评论 -
C++ STL入门教程(3)——deque(双向队列)的使用(附完整程序代码)
一、简介deque(Double Ended Queues,双向队列)和向量很相似,但是它允许在容器头部快速插入和删除(就像在尾部一样)。二、完整程序代码/*请务必运行以下程序对照阅读*/#include #include #include #include using namespace std;void print(int num){ cout << num原创 2013-08-04 22:17:18 · 3135 阅读 · 0 评论 -
C++ STL入门教程(2)——list(双向链表)的使用(附完整程序代码)
一、简介Lists将元素按顺序储存在链表中。与向量(vector)相比, 它允许快速的插入和删除,但是随机访问却比较慢。(vector支持快速随机访问)在前一篇就提到过,list可以在头部进行添加删除操作,但vector不行。下面是几个不同于vector的函数。remove()从list删除元素remove_if()按指定条件删除元素原创 2013-08-04 22:01:49 · 2876 阅读 · 1 评论 -
UVa 10651 Pebble Solitaire (DP&bitset)
10651 - Pebble SolitaireTime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1592化为二进制进行状态转移,详见代码。完整代码:原创 2013-11-24 12:50:23 · 1292 阅读 · 0 评论 -
C++ STL入门教程(4)——stack(栈),queue(队列),priority_queue(优先队列)的使用(附完整程序代码)
首先,这三者都是顺序容器适配器(适配器(adaptor)是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型)。本质上,适配器是使一事物的行为类似于另一事物的行为的一种机制。容器适配器让一种已存在的容器类型采用另一种不同的抽象类型的工作方式实现。例如,假设deq是deque类型的容器,则可以用deq初始化一个新的栈:stack stk(deq);//带容器参数的原创 2013-08-04 22:40:27 · 3671 阅读 · 0 评论 -
C++ STL入门教程(6)——set(集合)的使用(附完整程序代码)
一、简介集合(Set)是一种包含已排序对象的关联容器。begin()返回指向第一个元素的迭代器clear()清除所有元素count()返回某个值元素的个数empty()如果集合为空,返回trueend()返回指向最后原创 2013-08-20 10:29:26 · 3943 阅读 · 0 评论 -
C++ STL入门教程(7)——multimap(一对多索引),multiset(多元集合)的使用(附完整程序代码)
一、Multimap(一对多索引)C++ Multimap和map说支持是操作相同(除了multimap不支持下标运算),但是Multimap允许重复的元素。begin()返回指向第一个元素的迭代器clear()删除所有元素count()返回一个元素出现的次数empty()如果multimap为空则返回真原创 2013-08-20 15:13:48 · 8703 阅读 · 0 评论 -
使用bitset实现二进制和十进制的相互转换
#include#include#include#include#include#includeusing namespace std;const int Size = 32;const double log_2 = log(2.0);char str[Size];int main(void){ int num; char *endstr; while (~scan原创 2013-09-26 21:36:07 · 9455 阅读 · 0 评论 -
C++ STL入门教程(5)——map(关联数组)的使用(附完整程序代码)
一、简介C++ Maps是一种关联式容器,包含“关键字/值”对。其内部实现是红黑树,它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。begin()返回指向map头部的迭代器clear()删除所有元素count()返回指定元素出现的次数empty()如果map为空则返回true原创 2013-08-20 10:06:42 · 4417 阅读 · 0 评论