C++
文章平均质量分 73
tangbo1987
这个作者很懒,什么都没留下…
展开
-
堆栈问题分析
堆栈问题一前提知识关于“局部变量、全局变量、堆、堆栈、静态和全局”的知识,详见:http://blog.csdn.net/jamestaosh/archive/2009/09/02/4513188.aspx或者http://baike.baidu.com/view/93201.htm其中引用一段描述如下:· 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。· 堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收原创 2011-05-27 11:16:00 · 1131 阅读 · 2 评论 -
求二叉树中两个节点的最大距离
二叉树节点的结构体定义如下:struct BTreeNode{ ElemType elem; // 当前节点元素 BTreeNode *left; // 左孩子结点 BTreeNode *right; // 右孩子节点 int maxLeft; //原创 2011-10-08 19:29:24 · 783 阅读 · 0 评论 -
最大公共连续子串(LCS问题)
这里介绍的是求最大公共连续子串的算法,至于非连续的子串问题,可以采用动态规划的方法,具体可参考:http://blog.csdn.net/v_july_v/article/details/6695482 这里就不在详述。 求最大公共连续子串的思路如下:用矩阵记原创 2011-10-05 10:16:57 · 1514 阅读 · 0 评论 -
二叉树相关操作(遍历、路径、最近公共父节点、重构)
本文总结了二叉树的相关操作,并在最后附上所有操作的实现。还有不足之处,以后会及时更新~ 相关操作包括:1、插入:InsertBTree2、遍历1)前序遍历(递归):PreOrderTraverse2)前序遍历(非递归):PreOrderTraverse原创 2011-09-23 14:14:33 · 1690 阅读 · 0 评论 -
单链表反转
问题很简单,程序如下: #include #include using namespace std;struct LinkNode{ int data; LinkNode *next;};// 反转函数,head指针指向链表头结原创 2011-09-21 17:36:13 · 620 阅读 · 0 评论 -
C++ static关键字
static修饰的变量和函数被称为静态变量和静态函数。 一、非类的成员变量和函数1、静态全局变量内存位置:静态存储区作用域:文件2、静态局部变量内存位置:静态存储区作用域:定义所在的函数或语句块3、静态函数作用域:文件原创 2011-09-18 14:41:54 · 373 阅读 · 0 评论 -
字符串定义:s[]和*s 的区别
假设字符串定义如下:char s1[] = "hello1";char *s2 = "hello2"; 区别如下:1)存储区域不同s1、s2均存储在栈中;"hello1"存储在栈中,因为它是一个字符串数组;"hello2"存储在常量存储区;原创 2011-09-18 11:28:56 · 2559 阅读 · 2 评论 -
从头至尾漫谈虚函数
程序员编程艺术:第八章、从头至尾漫谈虚函数作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前奏 有关虚函数的问题层出不穷,有关虚函数的文章千篇一律,那为何还要写这一篇有关虚函数的文章呢?看完本文后,相信能懂其意义之所转载 2011-09-11 09:54:07 · 502 阅读 · 0 评论 -
关于虚函数--析构函数是虚函数
先看下面的例子:#include using namespace std;// A是父类class A{public: A(){cout<<"A()"<<endl;} virtual ~A(){cout<<"~A()"<<endl;}};// B是A的原创 2011-09-10 22:07:53 · 490 阅读 · 0 评论 -
堆排序
堆排序的主要步骤包括:1、对要排序的数组建堆,此时堆顶(也就是数组第一个元素)要么最大,要么最小;2、交换数组第一个和最后一个元素;3、数组长度减1;4、保持最大堆或最小堆的特性;5、重复2、3、4,直至数组长度为1,结束。代码如下:#incl原创 2011-09-10 16:55:26 · 346 阅读 · 0 评论 -
C++中类所占的存储空间
先看程序再分析:#include using namespace std;class A{ int m_a; int get() { return m_a; } virtual void set(int a) {原创 2011-09-11 08:37:43 · 3558 阅读 · 0 评论 -
sizeof数据对齐问题
关于数据对齐问题,需要注意以下两点: 1)当成员变量的长度都小于处理器位数时,所有成员变量所占的总空间一定是最长的变量所占空间的整数倍;2)如果某一成员变量长度大于处理器位数,则以处理器的位数为对齐单位;示例程序和分析如下,#include原创 2011-09-11 09:04:07 · 977 阅读 · 1 评论 -
快速排序
快速排序思路如下:任选数组中一个元素作为关键字,,一趟partition下来的结果保证该关键字大于其左侧的元素,小于其右侧的元素;然后对其左侧和右侧的元素做partition操作;这么递归下去即可排序。代码如下:#include using namespace std;// 对A[low]...A[high]进行分区int partition(int原创 2011-09-10 18:27:37 · 352 阅读 · 0 评论