微博:
@TankyWoo基
新博客:
TankyWoo

01 2011 档案

《C++标准程序库》学习笔记5 — 第七章
摘要:1.(P252) 迭代器的分类及其能力:input迭代器只能读取元素一次。如果复制input迭代器,并使原迭代器和新产生副本都向前读取,可能会遍历到不同的值。output迭代器类似。2.(P258) C++不允许修改任何基本类型(包括指针)的暂时值,但对于struct, class则允许。所以:也许会失败,这取决于vector的实作版本。3.(P259) C++标注库为迭代器提供的三个辅助函数①. advance() 前进(或后退)多个元素注:对于Bidirectional迭代器或Random Access迭代器,n可以为负值,表示后退②. distance() 处理迭代器之间的距离③. it 阅读全文

posted @ 2011-01-29 17:20 Tanky Woo 阅读(1854) 评论(0) 推荐(2) 编辑

VS2008利用宏添加注释模板
摘要:前段时间在用devcpp时,发现他有个插入快捷键,可以自定义注释模板,直接插入即可,感觉很方便。但是我偏向于VS,所以就在CSDN上提问了,很高兴的找到了我需要的答案---自定义宏注释模板。这里和大家分享下(虽然网上讲的很多了。。。)程序注释的重要性毋庸置疑,一个大型的项目通常情况下都是几个软件工程师合作出来的成果,假如该项目中的代码注释不全,那会给将来的维护者带来无穷无尽的隐患。通用的办法是给自己工程里面的函数添加注释——使用宏。1.打开Visual Studio 2008(2005一样适用)开发工具,单击“工具→宏→新建宏项目”,然后按照步骤建立注释宏,添加如下代码并保存。2.打开 菜单 阅读全文

posted @ 2011-01-28 10:41 Tanky Woo 阅读(4411) 评论(2) 推荐(3) 编辑

《C++标准程序库》学习笔记4 — 第六章
摘要:1.(P145) 容器类别的共同操作函数(只列了个别几个):c.max_size()Returns the maximum number of elements possiblec1.swap(c2)/swap(c1, c2)Swaps the data of c1and c2c.begin() / c.end()Returns an iterator for the first element/the position after the last elementc.rbegin()Returns a reverse iterator for the first element of a r 阅读全文

posted @ 2011-01-27 12:24 Tanky Woo 阅读(1771) 评论(0) 推荐(2) 编辑

《C++标准程序库》学习笔记3 -- 第五章
摘要:这一章主要是大概的介绍一下容器,迭代器,算法,仿函数等,为6,7,8,9章的概括。1.(P74) STL的基本概念就是将数据和操作分离。数据由容器类别加以管理,操作则由可定制的算法定义。迭代器在两者之间充当粘合剂。任何算法都可以和任何容器交互运作。 2.(P75) 容器(Containers)容器类别用来管理一组元素。总的来说,容器分为两大类:①.序列式容器(Sequence containers),是可序(ordered)群集。包括vector, queue, list。②.关联式容器(Associative containers),是已序(sorted)群集。包括set, multiset 阅读全文

posted @ 2011-01-24 19:03 Tanky Woo 阅读(1741) 评论(0) 推荐(4) 编辑

《C++标准程序库》学习笔记2–第四章
摘要:1.(P33) Pairs(对组)的定义class pair可以将两个值视为一个单元。map和multimap就是通过pair来管理键值/实值(key/value)的。在pair的定义中:[代码]可以看到在copy构造函数时,使用了template,这是对于需要隐式转换的。如果是相同类型,则不是调用此构造函数,而是调用系统合成的copy构造函数。对于上面代码实现的方法,在学习笔记1(http://www.wutianqi.com/?p=2025)中第二点讲到过。2.(P36) 生成Pair的便捷函数make_pair()namespace std { // create value pair 阅读全文

posted @ 2011-01-24 13:57 Tanky Woo 阅读(1868) 评论(0) 推荐(4) 编辑

《C++标准程序库》学习笔记1--第二章&第三章
摘要:————————— 第二章 —————————1.(P11) C++规定:除了以typename修饰外,template内的任何标志符号都被视为一个值(value)而非一个型别。 eg. [代码] 这里typename指出SubType是class T中定义的一个型别,因此ptr是一个指向T::SubType的指针,否则SubType会被当作一个static成员,于是: T::SubType *ptr被认为是SubType与ptr的乘积。 2.(P12) template class 的 member template问题: 下面例子,即使两个型别之间可以自动转换,如int和do 阅读全文

posted @ 2011-01-23 18:44 Tanky Woo 阅读(2458) 评论(4) 推荐(3) 编辑

最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)
摘要:接上一篇:最短路径算法—Bellman-Ford(贝尔曼-福特)算法分析与实现(C/C++) Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。   Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含 阅读全文

posted @ 2011-01-19 13:06 Tanky Woo 阅读(65698) 评论(7) 推荐(4) 编辑

最短路径算法—Bellman-Ford(贝尔曼-福特)算法分析与实现(C/C++)
摘要:相关文章:1.Dijkstra算法:http://www.wutianqi.com/?p=18902.Floyd算法:http://www.wutianqi.com/?p=1903Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。该算法由美国数学家理查德•贝尔曼(Richard Bellman, 动态规划的提出者)和小莱斯特•福特(Lester Ford)发明。Bellman-Ford算法的 阅读全文

posted @ 2011-01-17 20:49 Tanky Woo 阅读(29633) 评论(1) 推荐(9) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示