set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、...
分类:
编程语言 时间:
2015-08-05 12:02:25
阅读次数:
151
【multiset】hdu 5349 MZL’s simple problem题目链接:hdu 5349 MZL’s simple problem题目大意n次操作,插入元素、删除最小元素、查询最大元素并输出。
C++STL的multiset的使用set——多元集合(元素不可重复),multiset——可重复元素的多元集合
多元集合(MultiSets)和集合(Sets)相像,只不过支持重复对象。...
分类:
其他好文 时间:
2015-08-04 23:03:13
阅读次数:
180
希尔排序:定义一个间隔序列,例如是5,3,1。第一次处理,会处理所有间隔为5的,下一次会处理间隔为3的,最后一次处理间隔为1的元素。也就是相邻元素执行标准插入排序。在开始最后一次处理时,大部分元素都将在正确的位置,算法就不必对很多元素进行交换,这是比插入元素高级的地方。时间复杂度O(n*logn) ...
分类:
编程语言 时间:
2015-07-27 20:27:47
阅读次数:
167
(一)List:ArrayList以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素--get(i)/set(i,e) 的性能很高,这是...
分类:
编程语言 时间:
2015-07-26 15:36:00
阅读次数:
193
队列是操作受限的线性表,只允许在队尾插入元素,在队头删除元素,为了便于插入元素,设立队尾指针。这样,插入元素的操作与队列长度无关
队列的链式存储结构typedef struct QNode
{
QElemType data;
QNode *next;
}*QueuePtr;
struct LinkQueue
{
QueuePtr front, rear;//队头,队尾指针...
分类:
其他好文 时间:
2015-07-25 15:18:37
阅读次数:
123
/**注意往链表头插入元素的情况 * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NU...
分类:
编程语言 时间:
2015-07-21 20:17:21
阅读次数:
107
C++ Primer 学习笔记_11_标准模板库_stack、queue队列容器与priority_queue优先队列容器
1、stack堆栈
stack堆栈是一个后进先出(Last In First Out,LIFO)的线性表,插入和删除元素都只能在表的一端进行。插入元素的一端称为栈顶,而另一端称为栈底。插入元素叫入栈(Push),删除元素叫出栈(Pop)。下图是堆栈示意图...
分类:
编程语言 时间:
2015-07-20 16:42:48
阅读次数:
187
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、...
分类:
编程语言 时间:
2015-07-20 12:34:09
阅读次数:
146
C++ Primer(第五版)学习笔记_9_标准模板库_multimap多重映照容器
多重映照容器multimap与map结构基本相同,但由于重复键值存在,所以multimap的元素插入、删除、查找都与map的方法不相同。
1、multimap对象创建、元素插入
插入元素时,需要使用insert()方法和类似pair(“Jack”, 300.5)的元素结构。可以看...
分类:
编程语言 时间:
2015-07-16 11:50:50
阅读次数:
145