//C++动态数组简单的模拟二元堆#includeusing namespace std;class BinaryHeap{private: int cap; //该阵列的最大容量 int size; //当前元素个数 int* datas; //数组首地址public: explicit Bin....
分类:
编程语言 时间:
2015-10-24 15:35:36
阅读次数:
157
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会...
分类:
编程语言 时间:
2015-10-11 10:08:04
阅读次数:
162
在C/C++中,数组名相当于一个指针,指向数组的首地址。这里“相当于”不代表等于,数组名和指针还是有很多区别的,这个在《C陷阱与缺陷》里有详尽的讲述。而这里要说的是对于数组名取地址的这么一个操作。如果声明有如下数组:int arr[5];那么,&arr这个操作得到了什么值呢?如果简单的认为arr就是...
分类:
编程语言 时间:
2015-10-07 01:04:00
阅读次数:
370
直接上代码,没有什么说的 1 # include 2 # include 3 # include 4 5 //用C实现数组 6 7 typedef struct Array{ 8 int len;//数组的长度 9 int* pHead;//数组首地址 1...
分类:
编程语言 时间:
2015-10-05 23:23:32
阅读次数:
220
qsort用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); 各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用...
分类:
编程语言 时间:
2015-09-26 17:06:58
阅读次数:
176
#include /*声明了一个静态属性的 指针数组---static char *name [];name[]是一个数组 ,其中的元素是指向char类型的指针,使用数组名 name[0] 就是地址+下标的表示方法name[0] 表示的是name数组中的第0个元素 也就是第一个字符串的首地址 即na...
分类:
编程语言 时间:
2015-09-23 13:21:29
阅读次数:
137
问题描述:意思就是说:给定一个数组,寻找一种选取方法,使得在保证任何两个相邻元素不同时被选的条件下得到的数值总和最大。1. 递归 设nums为数组首地址,numsSize为数组的大小,max[i]表示从第i(0 = numsSize ) { 3 return 0; 4 } ...
分类:
其他好文 时间:
2015-09-20 14:35:39
阅读次数:
185
1.美团int a[5]={1,3,5,7,9};int *p = (int *)(&a +1);printf("%d","%d",*(a+1),*(p-1));输出3,9解析:a指向数组a[5]首地址,因此*(a+1)表示数组第二个3&a+1表示整个数组a的首地址加上a的整个数组的长度,因此p-1...
分类:
其他好文 时间:
2015-09-19 22:33:25
阅读次数:
390
char *p =(char*)malloc(100); malloc是用于分配内存的函数,它的参数为int型,表示分配多少个字节长度,其返回类型为void*,在这里用char*就是强制转化,指定了当前分配的内存用于存放char型数据,最后该函数会返回所分配内存空间的首地址赋予指针p
分类:
其他好文 时间:
2015-09-17 21:34:31
阅读次数:
174
我们都知道,数组名就是指向数组第一个元素的常量指针。同理,对于一个函数而言,函数名也是指向函数第一条指令的常量指针。而编译器要做的就是在程序编译之后,为每个函数分配一个首地址,即该函数第一条指令的地址。一般情况下,我们可以用一个指针来保存这个地址,而这个指针就是函数指针,该指针可以看作是它指向函数....
分类:
编程语言 时间:
2015-09-17 16:57:53
阅读次数:
147