循环队列存储空间传统扩充与动态扩充之优劣

循环队列存储空间传统扩充与动态扩充之优劣

ID:10985938

大小:39.00 KB

页数:8页

时间:2018-07-09

循环队列存储空间传统扩充与动态扩充之优劣_第1页
循环队列存储空间传统扩充与动态扩充之优劣_第2页
循环队列存储空间传统扩充与动态扩充之优劣_第3页
循环队列存储空间传统扩充与动态扩充之优劣_第4页
循环队列存储空间传统扩充与动态扩充之优劣_第5页
资源描述:

《循环队列存储空间传统扩充与动态扩充之优劣》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、循环队列存储空间传统扩充与动态扩充之优劣摘要:循环队列在定义时总是事先规定一个最大值maxsize来确定队列的最大存储空间,在使用中若初始值maxsize太小会造成存储空间不够用的问题。一般的做法是停止程序的执行,修改maxsize的值。若maxsize太大则会造成存储空间的浪费,不能实现动态扩充的目的。在此提出了一种新的实现循环队列存储空间动态扩充的方法,解决了存储空间不够用的问题,同时也成功地避免了循环队列中存储空间的浪费问题。最后比较了此方法与传统方法的优劣。关键词:循环队列;存储空间;动态分配;自动扩充theadvantagesanddisadva

2、ntagesofthetraditionalexpansionanddynamicexpansionforcircularqueuestoragespacezhanghaixia(zhangyemedicalcollege,zhangye734000,china)abstract:thecircularqueuedefinitionisalwayspredeterminedamaximumvalueofmaxsizetodeterminethemaximumstoragespaceofthequeue,usetheinitialvalueofmaxsize

3、istoosmallwillcausetheproblemofnotenoughstoragespace.thegeneralpracticeistostoptheimplementationoftheprogram,modifythevalueofmaxsize.ifmaxsizeistoolargewillresultinawasteofstoragespace,cannotachievethepurposeofdynamicallyexpanding.putforwardanewdynamicallyexpandingcircularqueuesto

4、ragespacetosolvetheproblemofnotenoughstoragespace,butalsosucceededinavoidingthewasteofstoragespaceinthecircularqueue.finally,acomparisonoftheprosandconsofthismethodwiththetraditionalmethod.keywords:circularqueue;storagespace;dynamicallyallocated;automaticallyexpand在限定性线性表队列的顺序存储结构

5、中,使用队列时都要将队列从逻辑上看成一个环即循环队列。这样是为了克服“假上溢”现象,节省计算机的存储空间。循环队列在定义时总是事先规定一个最大值maxsize来确定队列的最大存储空间,在使用中若初始值maxsize太小会造成存储空间不够用的问题。一般的做法是停止程序的执行,修改maxsize的值。若maxsize太大则会造成存储空间的浪费,不能实现动态扩充的目的。有没有方法能让队列在使用中想占用多少空间就占用多少空间,实现自动扩充,最大程度地避免对内存空间的浪费呢?以解决此问题为目的,本文提出了一种新的实现循环队列存储空间动态扩充的方法,解决了存储空间不够

6、用的问题,同时也成功地避免了循环队列中存储空间的浪费问题。一、传统扩充方法循环队列的存储结构及基本操作定义如下:#definemaxsize50//循环队列的初始大小typedefstruct{elemtypeelem[maxsize];//循环队列的存储空间intfront,rear;//循环队列的队头和队尾指针}seqqueue;statusinitqueue(seqqueue*q)//循环队列初始化操作传统算法描述{q->front=q->rear=0;returnok;}statusenterqueue(seqqueue*q,elemtypee)/

7、/循环队列入队操作算法描述{if((q->rear+1)%maxsize==q->front)//队满则不能入队returnerror;q->elem[q->rear]=e;q->rear=(q->rear+1)%maxsize;returnok;}statusdeletequeue(seqqueue*q,elementtype*e)//循环队列出队操作算法描述{if(q->rear==q->front)//队空不能出队returnerror;*e=q->element[q->front];q->front=(q->front+1)%maxsize;ret

8、urnok;}intqueuelength(seqqueueq)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。