- 博客(10)
- 收藏
- 关注
原创 二叉树的镜像
剑指OFFER里有一道题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树节点的定义如下:struct BinaryTreeNode{int value;BinaryTreeNode * left;BinaryTreeNode * right;};求二叉树的镜像,,即遍历该树的每个节点,如果遍历到的节点有子节点,则交换其子节点,当交换完成所有非叶子子节点的左右子节
2013-08-24 11:16:42 522
原创 单链表是否有环及双链表相交问题
1.单链表是否有环及求环入口(1)判断单链表是否有环方法很简单,设置两个指针,如slow和fast,都指向头结点,slow每次走一步,fast每次走两步,如果slow和fast相遇,则说明链表是有环的这样设置两个指针的方法在一些链表问题上很有帮助的。例如:a.如何在仅遍历链表一遍的情况下求无环链表的中心节点,即最中间的那个节点。这时就是设置快慢两个指针,快指针每次走两步,慢
2013-08-19 22:50:30 729
原创 c++中输出字符的地址
struct test{ int i; char c;};int main(){ test t; printf("%x\n", &t.c); cout << hex << & t.c << endl; return 0;} 输出结果:为什么用cout输出字符的地址出来是乱码呢?看下面这段代码:int main(){ char * s = "12
2013-08-15 16:56:10 1978
原创 c+中嵌套类的访问权限
class test{public: test() { cout << "test" << endl; } ~test() { cout << "deconstructer" << endl; } void test_print() { cout << "test print" << endl; }//private: class a { public: void print
2013-08-13 11:27:31 832
原创 复制构造函数的参数能否采用值传递
今天看到这么一个面试题:请分析下面代码的编译运行结果,并提供三个选项:A 编译错误 B 编译成功,运行是崩溃 C 编译运行正常,输出10class aa{private: int value;public: aa(int n) { value = n; } aa(aa other) { value = other.value; } void print() { cout <<
2013-08-12 19:56:15 1083 1
原创 函数参数用指针或引用传递时发现的一个小问题
今天看php手册时,看到引用那一章节时,有这么一段代码:$baz = "hello world!";function foo (&$var){ $var =& $GLOBALS["baz"];}$bar = "heihei";echo "$bar";foo($bar);echo "$bar"?>执行这段代码,$bar的值并没有被修改,两次输出的值是相同的,为什么是这样?
2013-06-02 19:50:35 537
原创 关于使用子函数里分配的内存的一个体会
今天和同学讨论时碰到这么一个问题,代码如下:#includeusing namespace std;int* allot_memery(int length){ int *a = new int [length]; for(int i = 0; i < 5; i ++) a[i] = i; return a;}int main(){ int *b = allot_me
2013-05-29 10:26:05 708
原创 关于 第三章data member的绑定 的读书笔记
书里以一个小程序开始,如下:extern int x; //对外部定义的一个变量的引用class test{public:test(float, float, float);//这里被传回和绑定的是按个x?float test() const { return x; }void test(float new_x) { new_x = x; }priv
2013-05-22 18:08:48 642 1
原创 关于多重继承时继承顺序的一点体会
今天看程序员面试宝典(第三版时)时,看到一个关于多重继承的问题。题目如下#includeusing namespace std;class A{int a;};class B {int b;};class C : public A, public B{int c;}; int main(){C * pc = new
2013-04-22 11:48:49 683
原创 关于new动态分配数组的一些体会
今天无意看到这么一个情况,在主函数中动态分配一个二维为数组a,在另一个子函数调用它时不用指定其列数大小,直接传一个指针就行。当时很疑惑,二维数组作形参时不是应该指定列数大小吗?带着疑问,上网查了一些资料和看了书之后,得出一下一些结论: new分配二维数组时行的地址不是连续的,比如int**a=new int*[4],分配后a[0],a[1],a[2],a[3]地址是系统随机给的,
2012-05-13 21:12:52 765
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人