![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础
文章平均质量分 54
68kg
这个作者很懒,什么都没留下…
展开
-
static关键字
C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。A.面向过程程序设计中的static关键字1)静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似:#include using namespace std转载 2012-08-12 21:36:41 · 628 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态转载 2012-08-12 21:44:03 · 909 阅读 · 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 · 1978 阅读 · 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 · 33984 阅读 · 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 · 14608 阅读 · 16 评论