《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-7.docx》由会员分享,可在线阅读,更多相关《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-7.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ttinclude 件include using namespace std;函数结果状态代码4define OK 14define ERROR 0/define OVERFLOW -24define M 100/Status是函数的返回值类型,其值是函数结果状态代码 typedef int Status;typedef int ElemType;typedef int QElemType;typedef struct( ElemType *base; int front,rear,tag; SqQueue;Status InitQueue(SqQueue &Q);Status EnQueue
2、(SqQueue &Q,QElemType e); Status DeQueue(SqQueue &Q,QElemType &e);int main() (SqQueue Q;InitQueue(Q); int e=l; EnQueue(Q,e); int t;DeQueue(Q,t); couttendl; return 0;Status InitQueue(SqQueue &Q)(构造一个空队列QQ.base=new QElemTypeM;if(!Q.base) exit(OVERFLOW);Q.front=Q.rear=0;Q.tag=0; return OK;Status EnQueu
3、e(SqQueue &Q,QElemType e) 插入元素e为Q的新的队尾元素if ( (Q. tagl) & & (Q. rear-Q. front) return ERROR;Q.baseQ.rear=e;Q.rear=(Q.rear+l)%M;if(Q.tag=0) Q.tag=l; return OK;Status DeQueue(SqQueue &Q,QElemType &e) (删除Q的队头元素,用e返回其值if ( (Q.tag0)(Q.rearQ.front) return ERROR;e=Q.baseQ.front;Q.front=(Q.front+1)%M;构造一个空队列插入元素e为Q的新的队尾元素删除Q的队头元素,用e返回其值为队列分配一个最大容量为卜IAXSIZE的数组空间存储分配失败头指针和尾指针置为零,队列为空/标志初始化为0,队列为空队满新元素插入队尾尾指针加1标志改1,表示队列非空/队空保存队头元素头指针加1if(Q.tag=l) Q.tag=O; return OK;标志改0,表示队列非满输出结果:1