C++容器
文章平均质量分 75
FinalFantacy~
这个作者很懒,什么都没留下…
展开
-
C++ set容器用法 学习笔记
set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,他会自动调整二叉树的排列,把该元素放到合适的位置上,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树的高度相等,这样,二叉树的高度最小,从而检索的速度最快。要注意的是,他不会重复插入相同键值的元素,二采取忽略处理,如下图所示:原创 2014-01-16 13:42:54 · 6009 阅读 · 0 评论 -
ZOJ 1151 Word Reversal反转单词 (string字符串处理)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=151For each list of words, output a line with each word reversed without changing the order of the words.This problem contains multi原创 2014-05-11 11:55:47 · 2110 阅读 · 0 评论 -
Priority_Queue 优先队列 C++学习笔记
priority_queue优先队列容器与队列一样,只能从队尾添加(插入)元素,从队头(队首)删除元素。但他有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似与给队列里的元素进行了由大到小的顺序排序。元素的比较规则默认为按元素的值的由大到小排序;当然,可以重载“使用priority_queue需要声明头文件#incl原创 2014-02-21 11:29:16 · 14043 阅读 · 2 评论 -
HLG 1916 小Z的卡片 (set 难题)恏似系亚洲区噶题
链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1916Description:小w和小z想到了一个新游戏,在这个游戏中他们各有N个卡片。小w想去使用她的卡片去覆盖小z的卡片。卡片A能覆盖卡片B的条件是卡片A的高不小于卡片B的高同时卡片A的宽不小于卡片B的宽。现在请计算出小w的原创 2014-05-12 18:40:20 · 1500 阅读 · 0 评论 -
Sicily 1299 Academy Awards (map + vector容器)
链接:http://soj.me/show_problem.php?pid=1299&cid=DescriptionSelected from 3,850 teams from 1,329 universities in 68 countries competing at 106 sites and preliminary contests worldwide, sixty-eig原创 2014-05-07 17:47:11 · 1322 阅读 · 0 评论 -
HLG 1963 Diary (哈希 + set或map)
链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1963Description:SunShine喜欢写日记,她把她的日记用TXT文件都保存在电脑里。每月一号和十六号,她都会新建一个TXT文件,然后接下来半个月,她都会在这个日记本里写。(为了方便,我们假设每个月都是30天)。今天是元旦,原创 2014-05-12 18:22:54 · 987 阅读 · 0 评论 -
HLG 2113 Count (C++ --- map容器 基础题)
链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2113DescriptionGiven a number of strings, can you find how many strings that appears T times?InputThe input conta原创 2014-06-04 12:58:23 · 1229 阅读 · 0 评论 -
ZOJ 2724 Windows 消息队列 (优先队列)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2724Message queue is the basic fundamental of windows system. For each process, the system maintains a message queue. If something h原创 2014-05-11 12:04:15 · 1492 阅读 · 0 评论 -
HLG 1808 绘画 (哈希 + map + 线段树)
链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1808Description小胖子最近喜欢上了画画,但是他的画画技术很差,只能从零开始,小胖子在一条线上画了很多彩色的球,但是觉得不好看,就想修改。小胖子站在画前想了又想,他有时会将一些连续的点涂成相同的颜色。但他感觉累原创 2014-06-04 12:40:55 · 1022 阅读 · 0 评论 -
HDU 1113 Word Amalgamation (map 容器 + string容器)
http://acm.hdu.edu.cn/showproblem.php?pid=1113Problem DescriptionIn millions of newspapers across the United States there is a word game called Jumble. The object of this game is to solve a ri原创 2014-10-06 16:38:57 · 904 阅读 · 0 评论 -
C++---set容器的用法
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。构造set集合主要原创 2013-11-22 02:05:35 · 2695 阅读 · 0 评论 -
C++ vector迭代器的用法 学习笔记
STL标准模板库提供三种类型的组件:容器,迭代器和算法,他们都支持泛型程序设计标准;容器主要分为两大类:顺序容器和关联容器。顺序容器有:(vector, list, deque和string等)是一系列元素的有序集合。关联容器:(set, multiset,map, multimap)包含查找元素的键值;迭代器的作用是遍历容器;在进行多组测试数据是一定要注意:在每组测试之后都要清空,否原创 2014-01-16 14:01:12 · 6821 阅读 · 0 评论 -
C++ map容器 学习笔记
map映照容器的元素数据是一个由键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系。map映照容器的数据结构也是采用红黑树来实现的,插入元素的键值不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来,由于map与set采用的都是红黑树的数据结构,所以,用法基本相似,下图是map映照容器元素的数据构成示意图; 键值 映照数据 Name Sc原创 2014-02-24 22:11:46 · 2269 阅读 · 0 评论 -
multiset 多重集合容器 C++容器 学习笔记
multiset与set一样,也是使用红黑树来组织元素数据的,唯一不同的是,multiset允许重复的元素键值插入,而set则不允许; multiset也需要声明头文件#include .由于它包含重复元素,所以,在插入元素,删除元素,查找元素上和set也有差别;multiset元素的插入下例程序插入了重复值123,最后中序遍历了multiset对象;运原创 2014-02-22 23:16:00 · 1920 阅读 · 0 评论 -
C++ multimap 多重映照容器 学习笔记
multimap与map基本相同,唯独不同的是,multimap允许插入重复键值的元素,由于允许重复键值的存在,所以,multimap的元素的插入,删除,查找都与map不相同;要使用multimap必须要添加头文件#include ;multimap 对象创建,元素插入可以重复插入元素,插入元素需要使用insert()方法,下例程序重复插入了名为“Jack”的键原创 2014-02-21 11:37:57 · 2315 阅读 · 1 评论 -
deque 双端队列容器 学习笔记
deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector唯一不同的就是deque采用分块的线性存储结构来存储数据,每块的大小一般为512字节,称为一个deque块,所有的deque块使用一个Map块进行管理,每个Map数据项纪录各个deque块的首地址,这样一来,deque块在头部都可插入和删除新的元素,而不移动其他元素(使用push_back()方法在尾部插入元素,会扩原创 2014-02-21 10:40:07 · 1470 阅读 · 0 评论 -
C++ string容器的用法 学习笔记
C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,他提供了添加删除,替换,查找和比较等丰富的方法; 虽然使用vector 这样的向量也可以处理字符串,但功能比不上string。向量的元素类型可以是string,如vector这样的向量,实际上就类似于C语言中的字符串数组; 使用string容器,需要包含头文件声明#include ;原创 2014-01-16 13:47:56 · 5924 阅读 · 0 评论 -
map/set容器的运算符重载比较函数的易错点
//观察下列程序//Sample Input:/*5aa 89bb 76cc 87dd 89ee 76*///你觉得会输出什么???#include #include #include #include #include #include #include #define MAXN 10010#define RST(N原创 2015-05-27 17:23:17 · 3392 阅读 · 0 评论