摘要: 这篇文章记录了我的这些天的思考过程。大致过程是这样的:1.学习二叉树的前序、中序、后序遍历的递归实现。2.学习把递归函数改变成非递归函数。3.通过学习,我觉得我掌握了递归思想和把递归函数改变成非递归函数的方法后, 我找斐波那契数列练手。4.斐波拉数列的2种非递归实现。5.由斐波拉数列的一种非递归实现联想到动态规划中的自底向上的求解。1.学习二叉树的前序、中序、后序遍历的递归实现。定义:1) 递归函数我之见:我的理解比较简单, 函数的存在是为了实现一个功能,递归函数也不例外,只不过它会自己调用自己。2)二叉树的递归定义:二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n 阅读全文
posted @ 2012-11-24 09:56 秀逗小虫虫 阅读(922) 评论(1) 推荐(0)
摘要: 字符串匹配 阅读全文
posted @ 2013-09-09 00:07 秀逗小虫虫 阅读(235) 评论(0) 推荐(0)
摘要: 包含了2个文件ArrayList.hpp和Main.cpp。写这份代码不仅仅是为了练习实现数据结构,还为了练习模版和函数重载。遇到过一些挫折,但是都一一解决了,感觉收获还是挺多的。 1 #ifndef __ARRAY_LIST_HPP__ 2 #define __ARRAY_LIST_HPP__ 3 4 #include "stdlib.h" 5 6 template class ArrayList 7 { 8 public: 9 const static size_t INVALID_ARRAYLIST_INDEX = -1; 10 11 typed... 阅读全文
posted @ 2013-08-31 22:41 秀逗小虫虫 阅读(266) 评论(0) 推荐(0)
摘要: 最近练手谢了一些数据结构的实现。 贴在博客里边,方便以后查阅。//CircleQueue.hpp 1 #ifndef __CIRCLE_QUEUE_HPP__ 2 #define __CIRCLE_QUEUE_HPP__ 3 4 template class CircleQueue 5 { 6 public: 7 const static size_t CIRCLE_QUEUE_INVALID_INDEX = -1; 8 const static size_t CIRCLE_QUEUE_DEFAULT_CAPACITY = 5; 9 const static siz... 阅读全文
posted @ 2013-08-31 22:32 秀逗小虫虫 阅读(217) 评论(0) 推荐(0)
摘要: C++有四种类型转换方法,分别是 reinterpret_cast、static_cast、dynamic_cast、const_cast。下面是四种类型转换使用的具体代码,在调试代码的时候可以尝试着把某些注释去掉后再编译运行,查看结果。经过自己动手和思考后,才会有更深刻的记忆。 代码: 1 #include <iostream> 2 using namespace std; 3 4 unsigned short 5 Hash(void* p) 6 { 7 unsigned int val = reinterpret_cast<unsigned int>(p); 8 . 阅读全文
posted @ 2013-05-15 13:18 秀逗小虫虫 阅读(178) 评论(0) 推荐(0)
摘要: C++的虚函数是多态的基础, 关于它的常见规则,已经网上已经有很多文章描述过了。我在这里仅仅是写下几行代码,来展现各种情况,相信你大概能在这里找到你所困惑的情况。如果想系统的了解,到网络上寻找别人总结性的文章。 在linux下可以执行以下命令编译执行代码g++ -g -o main main.cpp && ./main demo源码: 1 #include <iostream> 2 using namespace std; 3 4 class base { 5 public: 6 virtual void virtualfun(){ 7 cout << 阅读全文
posted @ 2013-05-15 12:53 秀逗小虫虫 阅读(172) 评论(0) 推荐(0)