- 博客(11)
- 资源 (4)
- 收藏
- 关注
原创 初窥内存管理(三)伙伴算法
假设系统的可利用内存空间容量为2m个字(地址从0到2m-1),则在开始运行时,整个内存区是一个大小为2m的空闲块,在运行了一段时间之后,被分隔成若干占用块和空闲块。为了在分配时查找方便起见,我们将所有大小相同的空闲块建于一张子表中。每个子表是一个双重链表,这样的链表可能有m+1个,将这m+1个表头指针用向量结构组织成一个表,这就是伙伴系统中的可利用空间表,如图所示:分配算法
2012-04-10 01:38:46 17074 10
原创 初窥内存管理(二)
发现两篇内存池的博文,博文地址如下,写的很好,能避免内存碎片和内存泄露问题,比我这个玩具代码要好很多,大家可以看看:http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.htmlhttp://blog.csdn.net/060/article/details/1326025 在我们做项目的时候,经常
2012-04-09 11:36:04 7549 5
原创 初窥内存管理(一)
今天突发奇想地想学习下内存管理(其实是报的腾讯终端开发,怕面试被问到如何实现内存管理模块)。于是找找资料,写了段代码,可以实现基于最佳适应法和循环首次适应法的内存分配。 大家都知道,我们malloc的时候操作系统维护着一张双链表记录堆里面的空闲内存块情况,每个节点对应一块内存。 最佳适应法:分配内存(大小为size)的时候,从表头开始搜索,找那块比size大的最小空闲内存块,进
2012-04-09 01:20:59 8768 7
原创 面试题六(自己yy的)
涉及到C++的类构造函数以及析构函数的一些基本概念,附上个人分析,可能有错误,还望不吝指出。代码如下:#include using namespace std;class BB{private: int data;public: BB(){ cout<<"default constructor"<<endl; } ~BB(){ cout<<"destructe
2012-04-06 10:53:47 5964
原创 算法面试题五
试用多态实现线性表(队列,串,堆栈),要求具备线性表的基本操作(pop,push,测长等)这里实现其共性模板,代码如下:#include #include #include #include #include #include #include #include #include templateclass tcontainer{public: vir
2012-04-05 22:07:47 5771
转载 C++容器(顺序容器、关联容器)
转载:http://hi.baidu.com/36470902/blog/item/50ed5a8b21491f1bc9fc7a3b.html相关文章:http://wenku.baidu.com/view/98afcf51ad02de80d4d840e3.html容器主要分为顺序容器和关联容器。一,顺序容器vector--连续存储的元素,单向的list----由节点组
2012-04-05 20:18:12 4704
原创 算法面试题四
螺旋队列问题2:如矩阵:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9找出规律,并打印一个NxN的矩阵,规律就是从首坐标开始顺时针依次增大。代码如下,用到了算法面试题三里面的函数(http://blog.csdn.net/c
2012-04-05 18:34:57 4993
原创 算法面试题二
输入n,生成一个n*n的矩阵,规定沿着45度方向递增,形成一个zigzag数组(JPEG编码里取像素数据的排列次序),请问如何实现?例如:实现如下:void makeA(int **A,int N){ int sum=0; for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ sum=i+j; if(sum<N)
2012-04-05 14:38:51 5781
原创 算法面试题一
输入两个字符串,比如“abbcddddbcc”,“abc”,输出第二个字符串在第一个字符串中的连接次序:如:代码如下,递归实现:void findlink(char *begin,char *str1,char *str2,int *index,int num1,int num2,int num3){ if(num3==num2){ for(int k=0;k
2012-04-05 11:29:36 5544
转载 C++const使用说明
转自:http://www.newsmth.net/pc/pccon.php?id=10002714&nid=359712http://blog.csdn.net/Eric_Jo/article/details/4138548 const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 **************常量必须被初始化***********
2012-04-03 09:36:18 5327 1
转载 推荐开发人员看的较有影响力的书籍
对于一个程序员而言,在学校里学不到多少工作中真正需要的知识,只有在工作中实践积累并且看一些优秀的书籍,把实践和理论结合起来才能够更好的工作。尤其是在技术日益发展和变化的今天,每个开发者更应该主动的看书去学习编程技巧并且改变编程方法,才能应付工作中各种复杂的项目。同时也可以在程序设计中更高效、弹性和准确的解决问题。下面列出了 11 本对开发人员很有益的书籍,大家可以从中选取感兴趣的进行阅读。
2012-04-03 08:54:27 8774
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人