摘要: heap和stack的差别 在进行c/c++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别。 栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收,存放new、malloc等变量。但是它与数据结构中的堆是两回事,分配方式倒是类似于链表。 全局区(静态区)(static):全局变量和static变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和static变量在相邻的另一块区域。程序... 阅读全文
posted @ 2012-03-28 17:38 爱也玲珑 阅读(481) 评论(0) 推荐(0) 编辑
摘要: (一)排序基本概念: 根据排序过程中待排序文件存放的位置不同,可以把排序分为内部和外部排序两大类。在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;在排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的存放顺序排序方法称为外排序。内部排序适用于记录个数不很多的较小待排序文件的排序;外部排序则适用于记录个数太多不能一次全部放入内存的较大待排序文件的排序。(二)内部排序分类:交换排序:常用的交换排序方法有冒泡排序和快速排序。选择排序:常用的选择排序方法有直接选择排序、树型选择排序和堆排序。插入排序:主要的插入排序方法有直接插入排序、希尔排序、二分法插入排序. 阅读全文
posted @ 2012-03-28 16:14 爱也玲珑 阅读(3201) 评论(0) 推荐(2) 编辑