这是一篇Dr. Dobb's Journal对STL之父stepanov的采访。文中数次提到STL的基本思想、语言的特性、编程的一些根本问题等,非常精彩。这篇文章让我想去拜读下stepanov的大作《Elements of Programming》了。原文链接:http://www.stepanov...
分类:
其他好文 时间:
2014-07-19 15:27:45
阅读次数:
352
这道题最重要的不仅是hash这种算法,更要学会利用好STL中的才行。将连续的L个字符经过hash赋值,最后线性判断。其中的判断步骤用到了map的插入特性。#include #include #include #include #include using namespace std;#define ...
分类:
其他好文 时间:
2014-07-19 15:22:52
阅读次数:
167
介绍这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该可以有效地使用vector容器,并且应该不会再去使用C类型的动态数组了。Vect...
分类:
其他好文 时间:
2014-07-19 12:20:11
阅读次数:
240
新手刚接触,跟着孙鑫老师视频一步一步的做。从VC6.0到VS2010好像并不是那么顺利,下面记录下一点收获。网络编程的一般步骤:1声明套接字版本(WSAStartup);2创建套接字(socket);3绑定套接字(bind);4发送接收(sendto/recvfrom);5关闭(closesocke...
分类:
编程语言 时间:
2014-07-19 09:09:47
阅读次数:
283
partition
------------------------------------------------------------------------
描述:partition 会将区间[first,last) 中的元素重新排列。所有被一元条件运算 pred 判定为 true 的元素,都会被放在区间的前段,
被判定为 false 的元素,都会被放在区间的后段。
partition 不稳定,不保证 partition 后元素保留在原始相对位置, stable_partition 稳定
思路:
...
分类:
其他好文 时间:
2014-07-19 08:26:15
阅读次数:
248
search
-------------------------------------------------------------------------
描述:在序列一[first1, last1) 所涵盖的区间中,查找序列二[first2, last2) 的首次出现点。
思路:
1.遍历序列二
2.如果两序列的当前元素一样,都前进 1
3.否则序列二的迭代器重新指向开始元素,序列一前进 1 ,序列一的长度减 1
复杂度:
最坏情况是平方: 最多 (last1 - first1) * (last2...
分类:
其他好文 时间:
2014-07-19 08:20:52
阅读次数:
212
merge (应用于有序区间)
--------------------------------------------------------------------------
描述:将两个经过排序的集合S1和S2,合并起来置于另一段空间。所得结果也是一个有序(sorted)序列
思路:
1.遍历两个序列直到其中一个结束了
2.如果序列一的元素较小,将它放到结果序列中,并前进 1
3.如果序列二的元素较小,将它放到结果序列中,前前进 1
4.遍历结束后,将还没有遍历完的序列复制到结果序列的尾部
源码:...
分类:
其他好文 时间:
2014-07-19 08:16:09
阅读次数:
212
includes(应用于有序区间)
-------------------------------------------------------------
描述:S1和S2都必须是有序集合,判断序列二 S2 是否"涵盖于"序列一 S1,即"S2的每一个元素是否都出现于 S1中"
思路:
1.遍历两个区间,直到其中一个走完
2.如果序列二的元素小于序列一的元素,则在序列一中不可能有元素等于序列二的当前元素了,直接返回 false
3.如果序列一的元素小于序列二的元素,则序列一前进 1
4.如果两序列元...
分类:
其他好文 时间:
2014-07-19 08:05:28
阅读次数:
180
rotate
--------------------------------------------------------------
描述:将[first, middle) 内的元素和[middle, last) 内的元素互换。
图6-6g
/*------------------------------------------------------------
*分派函数(dispatch function)
*/
template
inline ...
分类:
其他好文 时间:
2014-07-19 08:00:26
阅读次数:
259
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。
注意
如果因为可能的排名有多种情况,这时要保证编号小的在前。
题目输入的数据可能有重复边
拓扑排序
首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。
然后进行循环:
取出队头结点,视作边的起点。
然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一;
如果减一以后,终点的入度变为了0,那么将终点的编号入队列。
判断队列是否为空,若不空,则回到1...
分类:
其他好文 时间:
2014-07-19 02:25:55
阅读次数:
175