C++的类型设计要求之一是:在对待自定义类型时和内置类型必须是一致的,甚至自定义类型的支持更好。
《C++标准程序库》:
set和multiset会根据特定的排序准则,自动将元素排序。两者不同在于multiset允许重复而set不允许。
只要是assignable、copyable、comparable(根据某个排序准则)的型别T,都可以成为set或multiset的元素型别。没有传入特别排序准则,就采用缺省准则less(这是一个仿函数,以operator<对元素进行比较,一般完成排序)。对于“排序准则”,...
分类:
其他好文 时间:
2015-05-12 15:41:26
阅读次数:
132
stl容器的元素删除跟具体的按内存分配方式关系密切。按内存分配方式可以分为节点内存容器和连续内存容器。
节点内存容器指的是一种表现方式,包括list、slist等这样基于节点的容器(链表实现)和set、map、multiset、multimap等关联容器(平衡树实现)
连续内存容器指的是在一块连续的内存上保存元素的连续内存容器,比如vector、deque、string等。...
分类:
其他好文 时间:
2015-05-12 15:37:40
阅读次数:
97
摸索了一天终于把这个问题搞定了
首先下载MinGw
地址:http://sourceforge.net/projects/mingw/?source=directory
下载完之后安装G++,在安装程序中步骤如下
之后利用CMD安装gdb-python
MinGw-get.exe install gdb-python
同时安装GDB
同时按照以下步骤安...
分类:
数据库 时间:
2015-05-07 22:17:49
阅读次数:
309
最近刷算法题,发现一个问题:
我是用递归实现一个算法,但在函数TreeNode * createTree(vector &num, int left, int right)
一开始使用了TreeNode * createTree(vector num, int left, int right),结果总是超时,
在网上找了一些别人写的算法,发现都是那样实现的,最后发现了是函数的参数类型不同,...
分类:
编程语言 时间:
2015-05-02 12:30:56
阅读次数:
143
STL容器类的模板容器部分主要由头文件,,,,,和组成。对于常用的一些容器和容器适配器(可以看作由其它容器实现的容器),可以通过下表总结一下它们和相应头文件的对应关系。数据结构描述实现头文件向量(vector)连续存储的元素列表(list)由节点组成的双向链表,每个结点包含着一个元素双队列(dequ...
分类:
其他好文 时间:
2015-05-01 14:45:29
阅读次数:
99
1、从set/map谈到hashtable/hash_map/hash_set 稍后本文第二部分中将多次提到hash_map/hash_set,下面稍稍介绍下这些容器,以作为基础准备。一般来说,STL容器分两种: 序列式容器(vector/list/deque/stack/queue/heap), ...
分类:
编程语言 时间:
2015-04-19 14:35:15
阅读次数:
231
STL容器迭代器存在失效的情况,需要了解STL容器的实现方式,才能理解那种迭代器在何种情况下会失效。Vector,Vector迭代器的实质是指针,而vector空间是连续的,在分配空间的时候,vector实际分配的空间一般会大于所需的空间,可以通过capacity来获得vector实际分配的空间大小...
分类:
其他好文 时间:
2015-04-14 16:32:32
阅读次数:
123
清明节给大一的孩子们讲了点STL的应用,下了些功夫,搬到这里来供大家学习交流。
1.泛型程序设计简介与迭代器的介绍
2.常见的STL容器及其例题应用(UVA10474,UVA101,UVA10815,UVA156,UVA540,UVA136
HDU1027,CF501B,HDU1716,HDU4277)
3.相关练习和思路
1.泛型程序设计简介与迭代器的介绍
1...
分类:
其他好文 时间:
2015-04-10 18:01:53
阅读次数:
3759
1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string不一定以NULL('\0...
分类:
其他好文 时间:
2015-04-09 13:41:42
阅读次数:
82
什么是容器
首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处,就是“容器类是一种对特定代码重用问题的良好的解决方...
分类:
编程语言 时间:
2015-03-29 23:47:07
阅读次数:
373