- 博客(4)
- 收藏
- 关注
原创 堆排序的实现
之前看了一下外排序,基本思想还是利用堆排序生成序列,然后归并在一起。所以实现堆排序是基础:/* 堆排序 (1)用大根堆排序的基本思想 ① 先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区 ② 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换, 由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key ③ 由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1.
2010-06-30 21:06:00
256
转载 C语言参数的入栈顺序
先给个例子:#include void foo(int x, int y, int z){ printf("x = %d at [%X]/n", x, &x); printf("y = %d at [%X]/n", y, &y); printf("z = %d at [%X]/n", z, &z);}int main(int argc, char *argv[]){ foo(100, 200, 300);
2010-06-18 10:00:00
326
转载 C和C++函数的相互引用 extern "c"深入理解
<br /><br />1.引言<br /><br /> C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程 式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支 持函数的重载,C++对全局函数的处理方式与C有明显的不同。 <br />2.从标准头文件说起<br />某企业曾经给出
2010-06-18 09:29:00
366
转载 深入C语言之字节对齐 - [C 数据结构 算法]
<br />在C程序设计中我们经常需要用到一种数据类型的长度(占内存的字节数),例如:<br /> int *p = NULL; p = (int *)malloc(10*sizeof(int)); /*用sizeof(int)来的到int类型的长度*/ <br />用sizeof可得到C语言中数据类型的长度,对基本数据类型而言,结果值很容易理解,但当sizeof的操作对象是一个结构类型时意想不到麻烦就来了,其结果值经常与我们设想的不一样.为什么呢?现代计算机中内存空间都是按照byt
2010-06-14 00:16:00
626
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人