- 博客(13)
- 收藏
- 关注
转载 [数据结构]二叉排序树
二叉排序树是一种特殊结构的二叉树,它作为一种表的组织手段,通常被称为树表。可以作为一种排序和检索的手段。定义 二叉排序树或是空树,或是具有下述性质的二叉树:其左子树上所有结点的数据值均小于根结点的数据值;右子树上所有结点的数据值均大于或等于根结点的数据值。左子树和右子树又各是一棵二叉排序树。对二叉排序树,若按中序遍历就可以得到由小到大的有序序列。如上图,中序遍历得:{2,3,4,
2007-10-30 14:20:00 1853
转载 [数据结构]哈夫曼树、哈夫曼编码
哈夫曼树又称最优树(二叉树),是一类带权路径最短的树。构造这种树的算法最早是由哈夫曼(Huffman)1952年提出,这种树在信息检索中很有用。结点之间的路径长度:从一个结点到另一个结点之间的分支数目。树的路径长度:从树的根到树中每一个结点的路径长度之和。结点的带权路径长度:从该结点到树根之间的路径长度与结点上权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和,记作
2007-10-30 14:19:00 4014 3
原创 [c/c++]析构函数virtual相关
基类的构造函数、析构函数、赋值函数都不能被派生类继承。#include iostream>using namespace std;class A...{public: A()...{cout"A constructor"endl;} ~A()...{cout"A desstructor"endl;}};class B : public A...{public: B().
2007-10-29 22:00:00 1378
原创 [c/c++]函数参数缺省值
参数缺省值只能出现在函数的声明中,而不能出现在定义体中。 例如: void Foo(int x=0, int y=0); // 正确,缺省值出现在函数的声明中 void Foo(int x=0, int y=0) // 错误,缺省值出现在函数的定义体中 { … } 为什么会这样?我想是有两个原因:一是函数的实现(定义)本来就与参数是否有缺省值无关,所以没有必要让缺省值出现
2007-10-29 15:15:00 18888 8
原创 [c/c++]函数的隐藏
#include iostream>using namespace std;class B...{public: void f(int) const ...{ cout"B::f int"endl; } void f(double) const ...{ cout"B::f double"endl; }};class D: pub
2007-10-29 14:34:00 1496
原创 [c/c++]临时变量、局部变量,return的效率
如果函数返回值是一个对象,要考虑 return 语句的效率。例如 return String(s1 + s2); 这是临时对象的语法,表示“创建一个临时对象并返回它” 。不要以为它与“先创建一个局部对象 temp 并返回它的结果”是等价的,如 String temp(s1 + s2); return temp; 实质不然,上述代码将发生三件事。首先,temp 对象被创建,同时完成
2007-10-29 13:56:00 4396 1
原创 [c/c++]A a();与A a;
#include iostream>using namespace std;class A...{public: A() ...{ cout "construction1 fun" endl; } A(int) ...{ cout "construction2 fun" endl; }};int main()...{
2007-10-23 09:54:00 2847 2
原创 [c/c++] "? :" 在何种状况下不能修改为"if (..) {..} else {..}"?
#include iostream>using namespace std;void f(double)...{ cout "double" endl;}void f(int)...{ cout "int" endl;}int main()...{ f(true ? 1 : 1.0); if(true) ...{ f(1); }
2007-10-22 13:32:00 825
原创 [c/c++]const修饰指针
int a = 10; int b = 20; const int* p1 = &a; //ok p1 = &b; //ok //*i = 11; //error int* const p2 = &a; //ok *p2 =
2007-10-21 22:28:00 924
原创 [c/c++]如何声明函数指针数组
#include stdlib.h>#include stdio.h>//typedef void (*pf) (); void f1(){};void f2(){};int main(){ void (*pf[2]) ()=...{f1,f2}; system("pause"); return 0;}..................#include st
2007-10-21 22:27:00 2813 1
原创 [c/c++]宏定义,#,##
# —— 字符串##——连接两个参数#include iostream>using namespace std;#define TEST(pid) (cout#define TEST2(p) (coutint main(){ int para3 = 3; int para2 = 2; TEST(2); //cout TEST(3); //cou
2007-10-21 22:25:00 12359 7
原创 [c/c++]构造函数、析构函数中可不可以抛出异常
using namespace std;class A...{public: A() ...{ cout "construction fun" endl; throw 1; } ~A() ...{ cout "destruction fun " endl; throw 2; }};int mai
2007-10-21 22:23:00 5683
原创 [c/c++]关于const_cast
#include iostream>using namespace std;class CCTest ...{public: void setNumber( int ); void printNumber() const;private: int number;};void CCTest::setNumber( int num ) ...{ number = num; }
2007-10-21 21:33:00 985
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人