说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.htmlC++ Queues(队列)C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。1.back() 返回一个引用...
分类:
编程语言 时间:
2014-06-27 11:17:33
阅读次数:
345
STL对比解说——关联容器1. 概述 关联容器会根据某种准则自动排序容器中元素。operator namespace std { template , //默认使用小于,可以自己提供排序准则 typename Allocator = allocator > ...
分类:
其他好文 时间:
2014-06-27 11:00:22
阅读次数:
235
(一)
public继承意味着“is-a”关系。它的意思是:如果B以public形式继承自A,那么B类型对象肯定是一个A对象,反之不成立。A是B的一种抽象,B是A的特例。任何使用A的地方,都能使用B。
(二)
public继承意味着“is a”(是一种)关系:
(1)任何一个继承类对象也是一个基类对象;
(2)任何可以出现基类对象的地方也可以出现一个继承类对象(例如函数的...
分类:
编程语言 时间:
2014-06-27 10:28:19
阅读次数:
220
堆(heap)是一种非常重要的数据结构(这里我们讨论的是二叉堆),它是一棵满足特定条件的完全二叉树,堆的定义如下:
堆是一棵树完全二叉树,对于该完全二叉树中的每一个结点x,其关键字大于等于(或小于等于)其左右孩子结点,而其左右子树均为一个二叉堆。...
分类:
其他好文 时间:
2014-06-27 08:41:58
阅读次数:
225
在前面的文章STL之heap相关操作算法中介绍了堆的相关操作算法,由于堆的注意主要作用是用于排序,我们也知道堆排序的时间复杂度为o(nlogn),是一种不稳定的排序算法,利用堆这一数据结构,我们可以很快第获取一个大数据中最大(或最小)的k个数。同时,上篇文章中,也提出了相关heap算法的一些问题...
分类:
其他好文 时间:
2014-06-27 08:16:59
阅读次数:
171
??
transform()的第一版本以仿函数op作用于[first,last)中的每一个元素身上,并以其结果产生出一个新序列。第二版本以仿函数binary_op作用于一双元素身上(其中一个元素来自[first1,last1),另一个元素来自“从first2开始的序列”),并以其结果产生出一个新序列。如果第二序列的元素少于第一序列,执行结果未可预期。
//版本一
template
Out...
分类:
其他好文 时间:
2014-06-26 13:39:18
阅读次数:
198
对于接触过数据结构的人来说,队列并不陌生,它是一种FIFO(first in first out)的数据结构。与栈相比,队列的不同之处在于:(1)队列是一种先进先出的数据结构,而栈则是一种后进先出的数据结构;(2)队列支持首尾两端的访问操作,而栈只支持一端(即顶端)的访问操作;(3)队列从队尾插入,从队首弹出;而栈的插入和弹出都位于栈顶。...
分类:
其他好文 时间:
2014-06-26 13:34:53
阅读次数:
249
动态规划poj3903详解,STL 的lower_bound运用...
分类:
其他好文 时间:
2014-06-26 10:25:10
阅读次数:
660
(一)
inline函数,可以调用它们而又不需蒙受函数调用所招致的额外开销。
inline函数背后的整体观念是,将“对此函数的每一个调用”都已函数本体替换之,这样做可能增加你的目标码(object code)大小。在内存有限的机器上,过度inline会造成程序体积太大,导致换页行为,降低缓存的命中率等一些带来效率损失的行为。如果inline函数的本体很小,编译器针对“函数本体”所产生的码可能比...
分类:
编程语言 时间:
2014-06-26 07:25:18
阅读次数:
142