链队与顺序串的实现

链队与顺序串的实现

ID:38465343

大小:115.50 KB

页数:8页

时间:2019-06-13

链队与顺序串的实现_第1页
链队与顺序串的实现_第2页
链队与顺序串的实现_第3页
链队与顺序串的实现_第4页
链队与顺序串的实现_第5页
资源描述:

《链队与顺序串的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构与算法实验报告实验名称:链队与顺序串的实现班级:12软件工程1班姓名:常志慧学号:12130326类型:上机实验地点:鹤琴403日期:2013-5-6.一、实验目的:1.理解链队的特征,理解顺序串的特征2.用c语言设计好链队和顺序串的表示,并实现相关操作3.调试程序,编译运行并用数据测试程序4.熟悉c语言编程二、实验环境:1.PC机一台(带有VS6.0软件)三、实验内容和要求:1、用c语言设计好链队和顺序串的表示,并实现相关操作2、调试程序,编译运行并用数据测试程序3、认识和熟悉链队与顺序串4、通过分析算法实现

2、相关函数,并与实验教材的代码做比较四、实验步骤:(对实验步骤的说明应该能够保证根据该说明即可重复完整的实验内容,得到正确结果。)1、对链队与顺序串的表示与相关算法做分析1)设计它们的结构体表示方法2)设计和实现相关运算函数2、在VS6.0环境下编译实现代码1)编辑源程序,达到调试编译运行的目的2)利用数据进行测试验证五、实验结果与分析(含程序、数据记录及分析和实验总结等):一、3.2实现链队算法程序如下所示:#include"stdafx.h"#include#include#de

3、fineMaxSize5typedefcharElemType;typedefstructqnode{ElemTypedata;structqnode*next;}QNode;typedefstruct{QNode*front;QNode*rear;}LiQueue;voidInitQueue(LiQueue*&q){q=(LiQueue*)malloc(sizeof(LiQueue));q->front=q->rear=NULL;}voidClearQueue(LiQueue*&q){QNode*p=q->front

4、,*r;if(p!=NULL){r=p->next;while(r!=NULL){free(p);p=r;r=p->next;}}free(q);}intQueueLength(LiQueue*q){intn=0;QNode*p=q->front;while(p!=NULL){n++;p=p->next;}return(n);}intQueueEmpty(LiQueue*q){if(q->rear==NULL)return1;elsereturn0;}voidenQueue(LiQueue*&q,ElemTypee){

5、QNode*s;s=(QNode*)malloc(sizeof(QNode));s->data=e;s->next=NULL;if(q->rear==NULL)q->front=q->rear=s;else{q->rear->next=s;q->rear=s;}}intdeQueue(LiQueue*&q,ElemType&e){QNode*t;if(q->rear==NULL)return0;if(q->front==q->rear){t=q->front;q->front=q->rear=NULL;}else{t=

6、q->front;q->front=q->front->next;}e=t->data;free(t);return1;}externvoidInitQueue(LiQueue*&q);externvoidClearQueue(LiQueue*&q);externintQueueLength(LiQueue*q);externintQueueEmpty(LiQueue*q);externvoidenQueue(LiQueue*&q,ElemTypee);externintdeQueue(LiQueue*&q,ElemT

7、ype&e);voidmain(){ElemTypee;LiQueue*q;printf("(1)初始化链队q");InitQueue(q);printf("(2)依次进链队元素a,b,c");enQueue(q,'a');enQueue(q,'b');enQueue(q,'c');printf("(3)链队为%s",(QueueEmpty(q)?"空":"非空"));if(deQueue(q,e)==0)printf("队空,不能出队");elseprintf("(4)出队一个元素%c",e);p

8、rintf("(5)链队q的元素个数%d",QueueLength(q));printf("(6)依次进链队元素d,e,f");enQueue(q,'d');enQueue(q,'e');enQueue(q,'f');printf("(7)链队q的元素个数%d",QueueLength(q));printf("(8)出

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

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

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