
基础
文章平均质量分 54
68kg
这个作者很懒,什么都没留下…
展开
-
static关键字
C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。 A.面向过程程序设计中的static关键字 1)静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似: #include using namespace std转载 2012-08-12 21:36:41 · 648 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态转载 2012-08-12 21:44:03 · 926 阅读 · 0 评论 -
软件版本号管理
最近发现在文档编写或者软件开发过程中,版本号的管理真的很重要,在此将网上看到的GNU风格的版本号管理策略摘录如下,以供学习。 一般的版本号划分为如下3个部分: “ 主版本号 . 子版本号 . 修正版本号 ” 1.项目初版本时,版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0 (例如: 1.0.0 ) 2.当项目在进行了局部修改或 bug 修正时,主版本转载 2012-08-12 21:45:47 · 2077 阅读 · 0 评论 -
extends 和 implements 的区别
extends可以理解为全盘继承了父类的功能 implements可以理解为为这个类附加一些额外的功能 举个例子,Animal是一个父类,cat,dog,bird,insect都extends了Animal, 但是cat,dog,bird还可以implements比如run,shout这些interface,bird,insect可以implements比如fly这些interface转载 2012-08-12 21:47:51 · 34047 阅读 · 0 评论 -
阿里巴巴20121009 研发/算法工程师 笔试试题【修正】
第19题 a[i]在排序后的位置是[i-k, i+k],a[i+2k]在排序后的位置是[i+k, i+3k],必然有a[i] 所以数组a里实际上有2k个各自有序的、交错的子序列,如a1={a[0], a[2k], a[4k]...},a2={a[1], a[2k+1], a[4k+1], ...} 所以可以用2k-路归并排序,用一个大小为2k的小顶堆辅助归并,时间复杂度是O(原创 2012-10-10 10:13:21 · 14702 阅读 · 16 评论