数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-6_第1页
数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-6_第2页
数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-6_第3页
数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法3-6_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、include using namespace std;/函数结果状态代码#define OK 1 #define ERROR 0#define OVERFLOW -2#define MAX 100 /Status是函数的返回值类型,其值是函数结果状态代码 typedef int Status;typedef int QElemType;/队列的链式存储结构typedef struct QNode (QElemType data; struct QNode *next; QNode, *QueuePtr; typedef struct (QueuePtr rear;/只设一个尾指针LinkQu

2、eue;void InitQueue(LinkQueue &Q);int EmptyQueue(LinkQueue Q);Status EnQueue(LinkQueue Status DeQueue(LinkQueue void Init(LinkQueue &Q);&Q,QElemType e);&QZ QElemType &e);/置空队列/判断队列是否为空/入队/出队/建立队列int main() LinkQueue q; /InitQueue(q); Init(q); int n;cinn; int e; for(int i=0;ie;EnQueue(q,e);) int m; ci

3、nm; int k; for(int i=0;im;i+) (DeQueue(q,k); coutkendl; )/用户输入入队元素数量/入队n个元素/用户输入出队元素数量/出队m个兀素/输出出队元素if(EmptyQueue(q)cout” 队列为空 endl;else队歹!J 非空;InitQueue(q);if(EmptyQueue(q)cout ”队歹 U 为空 endl; elsecout” 队歹 U非空 next=Q.rear; )Q.rear-next=Q.rear; )void InitQueue(LinkQueue &Q) /置空队列Q.rear=Q.rear-next;wh

4、ile (Q.rear!=Q.rear-next)/将尾指针指向头结点/当列非空时,将队中元素逐个出队QueuePtr s=Q.rear-next;Qrear-next=s-next; delete s;QueuePtr s=Q.rear-next;Qrear-next=s-next; delete s;/s指向队头元素/尾结点的指针域指向新的队头元素/释放结点的空间EmptyQueue(LinkQueue Q) int/判断队是否为空,空返回1,否那么返回0/队列只有一个头结点,即当头结点的指针域指向自己时,队列为空 return Q.rear-next-next=Q.rear-next;)

5、Status EnQueue(LinkQueue &QZ QElemType data=e;p-next=Q.rear-next;Q rear-next=p;Q.rear=p;return OK;)Status DeQueue(LinkQueue &Q,QElemType/出队,删除Q的队头元素,用e返Pl其值if(Q.rear-next-next=Q.rear-next) return ERROR;QueuePtr p=Q.rear-next-next;e=p-data;if(p=Q.rear)/申请新结点/将新结点数据域置为e/将新结点插入到队尾/将尾指针移至新结点&e)/假设队列空,那么返回ERROR/p指向队头元素/e保存队头元素的值/当队列中只有一个结点Q rear=Q.rear-next;Qrear-next=p-next;)else/修改尾指针,使其指向头结点/摘下结点PQ ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论