版权声明:本文为博主原创文章,未经博主允许,不得转载。

8-3-无用单元收集-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分

第8章  动态存储管理 - 无用单元收集

——《数据结构》-严蔚敏.吴伟民版

       源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

       课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑

       习题集全解析  链接☛☛☛ 《数据结构题集》习题解析合辑

 

       本源码引入的文件  链接☛ Status.hGeneralizedList-H-T.c

 

      文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲08 动态存储管理\03 GarbageCollection

 

概述

       “无用单元”是指那些用户不再使用而系统没有回收的结构和变量。无用单元的累积会造成系统卡顿,程序运行内存不足等问题,所以必须加以监控回收。

解析

       以一个广义表表示的内存结构为例,回收内存有两条途径:

       (1)使用访问计数器。在所有子表或广义表上增加一个表头结点,并设立一个“计数域”,它的值为指向该子表或广义表的指针数目。只有当该计数域的值为零时,此子表或广义表中结点才被释放。

       (2)收集无用单元。在程序运行中,对所有的链表结点,不管它是否有用,都不回收,直到整个可利用空间表为空。此时才暂时中断执行程序,将所有当前不被使用的结点链接在一起,成为一个新的可利用空间表,而后程序继续执行。 

源码

       文件一 ☛  GarbageCollection.h 

 

       文件二 ☛  GarbageCollection.c 

 

       文件三 ☛  GarbageCollection-main.c (测试文档)

 

测试结果展示

 

       更多章节持续更新中...微笑

posted @ 2016-06-19 22:35  康建伟  阅读(698)  评论(0编辑  收藏  举报

版权声明:本文为博主原创文章,未经博主允许,不得转载。