我所采用的内存管理思想是链表管理思想,内存分配方案是最佳适应方案(best fit)。其主要的数据结构为 struct node { char* p int memosize int flag struct node* next } 这是一个链表的结点的数据结构,用它来管理内存的分配与回收。P 表示所指的分配的内存的首地址,memosize 表示分配的内存块的大小,flag 为一个标志量,表示内存块是否被占用。用 1 和 0 来表示被占用和不被占用。next 表示下一个结点的首地址。 内存管理包括一个分配内存的mm_request(unsigned int)函数,一个初始化所要管理的内存的mm_init()函数,一个空闲列表排序函数sort(),一个释放内存的mm_release(void* )函数和一个判断内存是否被占用的IsFree(int)函数。
标签: 内存管理
上传时间: 2016-07-06
上传用户:qunquan
数据结构自己写的单向链表的实现,希望对大家有用
标签: 数据结构
上传时间: 2014-05-24
上传用户:731140412
数据结构自己写的双向链表的实现,希望对大家有用
标签: 数据结构
上传时间: 2016-07-07
上传用户:cmc_68289287
数据结构自己写的linux链表的实现,希望对大家有用
上传时间: 2013-12-06
上传用户:ruan2570406
数据结构自己写的循环链表的实现,希望对大家有用
上传时间: 2014-01-10
上传用户:BOBOniu
用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时就生成头结点(初值为0)。链表翻转是把数据逆序(变成降序),注意,头结点不动。翻转后要再翻转一次,恢复升序后才能插入新元素,否则会出错。
上传时间: 2016-07-09
上传用户:s363994250
c++二、通过将其元素插入到双向链表中的方法对数组A进行排序。算法对链表的当前操作位置进行维护,当需要插入表项时,若新元素比当前位置值要大,则往前移动;若小则往后移动。编写函数DoubleSort实现上述排序算法。 template <class T> void DoubliSort( T a[], int n)
上传时间: 2013-12-03
上传用户:gundamwzc
二、通过将其元素插入到双向链表中的方法对数组A进行排序。算法对链表的当前操作位置进行维护,当需要插入表项时,若新元素比当前位置值要大,则往前移动;若小则往后移动。编写函数DoubleSort实现上述排序算法。 template <class T> void DoubliSort( T a[], int n)
上传时间: 2016-07-15
上传用户:远远ssad
、通过将其元素插入到双向链表中的方法对数组A进行排序。算法对链表的当前操作位置进行维护,当需要插入表项时,若新元素比当前位置值要大,则往前移动;若小则往后移动。编写函数DoubleSort实现上述排序算法。
上传时间: 2014-01-01
上传用户:大融融rr
用java写的面向对象应用的一个实例 运用了适配器模式 链表中的每一个元素都能调用同一个draw方法画图 画不同的圆形 方形 三角形
上传时间: 2014-11-22
上传用户:dancnc