带权路径最小的二叉树称为最优二叉树或Huffman(哈夫曼树)。 Huffman树的构造 将节点的权值存入数组中,由数组开始构造Huffman树。初始化指针数组,指针指向含有权值的孤立节点。 数组b中的指针可以理解为二叉树的根指针。 进行n - 1次循环建立Huffman树 选择b中根节点权值最小的 ...
分类:
其他好文 时间:
2017-06-05 23:57:09
阅读次数:
422
基础知识 (1)指针数组:int *a[10] 理解:a和[]先结合,构成数组a[10](同时说明这变量的本质是数组,所以最终应该叫做**数组),紧接着与*号结合说明这个数组中10个元素都是指针,且指向的是int型变量。因此他是一个指针数组。 (2)数组指针:int (*a)[10] 理解:a首先和 ...
分类:
编程语言 时间:
2017-06-05 00:26:46
阅读次数:
154
C++开发的项目难免会用到STL的string。使用管理都比char数组(指针)方便的多。但在得心应手的使用过程中也要警惕几个小陷阱。避免我们项目出bug却迟迟找不到原因。1. 结构体中的string赋值问题直接通过一个样例说明,以下的样例会输出什么:#include <iostream> #inc ...
分类:
编程语言 时间:
2017-05-30 15:59:57
阅读次数:
210
?? 1、指针数组 数组里面的每一个元素都是指针。 指针数组的案比例如以下: 易犯错误: 2、数组指针 归根结底还是指针,仅仅是取*的时候可以取出一整个数组出来。 数组指针:(一个指针指向了数组。一般和二维数组搭配使用)。 以下的(p+1)表示的是加过20个字符。 3、函数指针: 在gcc编译的时候 ...
分类:
编程语言 时间:
2017-05-29 15:21:31
阅读次数:
301
方法一:使用数组指针用new开辟空间 <span style="font-size:18px;">#include<iostream> using namespace std; #define ROW 3 #define COL 4 void main() { int(*p)[COL] = new ...
分类:
编程语言 时间:
2017-05-24 22:38:26
阅读次数:
203
法一:基本写法 int (&fun()) [5]; 法二:类型别名 using arrT = int[5]; arrT& fun(); 法三:尾置返回类型 auto fun() -> int(&) [5]; 法四:使用decltype关键字 int a[5] = {1,2,3,4,5}; declt ...
分类:
编程语言 时间:
2017-05-20 17:15:36
阅读次数:
188
C中经常要写一个对数组进行操作的函数,下面介绍一下,数组、指针和函数的应用: 指针和数组: 代码中,sum()函数的参数是一个数组的名字,数组的名字代表数组首元素的地址,在这里是一个int 的地址,因此应该把它赋给一个类型为指向int的指针的形式参量,于是得到代码中的函数原型。 用到数组时,往往需要 ...
分类:
编程语言 时间:
2017-05-16 20:08:34
阅读次数:
231
一. 示例 PS:a代表首元素的地址,是一个数组指针。每次向后跳低维的维数,a+1的地址从2291752变成2291772说明向右跳了4*5个字节。 二.结论 三 C语言中关于[]的实际意义 a[i] a[0+i] a(0+i) *(a+i) ...
分类:
编程语言 时间:
2017-05-15 11:53:21
阅读次数:
149
废话不多少,直接上代码,关键的东西已经注释了,看注释信息理解即可。 说明:本程序讨论了一维数组和指针的关系,谈论了二维数组和指针之间的关系,讨论了字符串数组指针数组和指针之间的关系,代码中以给出定义的方法和简单的使用,但是有些使用方法并没有列出,如果需要, 请自行加入printf调试即可。 转贴请注 ...
分类:
编程语言 时间:
2017-05-10 17:48:38
阅读次数:
225
水题倒还是水题,但我ac了半天没ac,原来是数组指针pos没有初始化23333。代码很简单。附上: ...
分类:
其他好文 时间:
2017-05-08 19:54:17
阅读次数:
157