考高程的朋友请进》》(20分)

A

awu306

Unregistered / Unconfirmed
GUEST, unregistred user!
99年度高程教材的进队、出队算法和2001年度的进队、出队算法为什么是不一样的呢?
朋友们,你们有99年度的高级程序员教材和2001年度的高级程序员教材吗?
我在看队列时,发现它们进队、出队的算法不一样,到底哪一个正确我也不清楚
能否指点迷津? 以下是进队的算法:

[算法] 环形顺序存储队列进队
( 99年度高程教材进队算法)

int en_c_queue(NODE q[],int maxn,int *tpt,int *htp,NODE *)
/*队列结点,数据类型为NODE,用能存储maxn个结点的数组实现
*tpt 为tail, *hpt为head ,x为进队结点*/
{ *tpt=(*tpt+1)%maxn;
if(*tpt==*hpt) {/*队满*/
*tpt=(*tpt+maxn-1)%maxn;
//设回初始值
return 1;
}
q[*tpt]=x;
return 0;

( 2001年度高程教材进度算法)
int en_c_queue(NODE q[],int maxn,int *tpt,int *htp,NODE *)
/*队列结点,数据类型为NODE,用能存储maxn个结点的数组实现
*tpt 为tail, *hpt为head ,x为进队结点*/

{if ((*tpt+1)%maxn==*hpt) /*队满*/

reutrn 1;

q[*tpt]=x;
*tpt=(*tpt+1)%maxn;
return 0;
}
 
粗看一下,两个都对,
99年的是maxn个节点
2001年的是maxn-1个节点
 
testnet:
那是不是说明书2001年度的浪费了一个存储空间?
即99年度的算法比较优化?那为什么在20001年时不采用优化的算法而用
不怎么优化的算法?
 
99的算法无法测试空队列。
 
to testnet
谢谢请教,很高兴认识你
请问你也是考高程吗?那我们以后可以并肩作战!
我的QQ 47975656
Email: awu306@21cn.com
 
我想过考,但实在没时间去看哪么多的书,在最后还是没报,
哪些书打个3节卖给同学了,还是新书。
 
顶部