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年度的高级程序员教材和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;
}