欢迎来到天天文库
浏览记录
ID:22640713
大小:139.24 KB
页数:13页
时间:2018-10-30
《数据结构实验报告实现队列和栈的各种算法及操作》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、佛山科学技术学院实验报告课程名称数据结构实验项目实现队列和栈的各种算法及操作专业班级10网络工程2姓名张珂卿学号2010394212指导教师成绩曰期2011年11月9口一、目的和要求1.理解队列和栈的顺序存储结构和链式存储结构。通过木实验,熟悉队列、栈的结构特点;熟悉队列、栈结构上的操作与算法的实现。二、实验内容1.队列的基木操作和应用;2.栈的基木操作和应用。三、仪器、设备和材料1.适合实验要求的计算机系统;2.C语言编程平台。四、实验原理与实验代码队列与栈是一种操作受限制的线性表,在了解线性表的基本原理的基础上,
2、理解与完成此项实验。^include^include〈windows.h〉^include〈malloc.h〉^defineMAXS1ZE50typedefstructQNode{chardata;//数组元素的存储结构}QNode,*QLink;typedefstructQueue{QNode*front;QNode氺rear;intsize;}本QueueArray;初始化队列数组分配存储空间初始化队头与队尾f^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^
3、Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^TxZintInitQueue(QueueArrayqueue){QLinkql;printf("初始化队列:");ql二(Qode*)malloc(MAXSIZE^sizeof(QNode));//分配存储空间if(!qD{printf("MEMERYERROR!");return0;}//初始化队头指针与队尾指针queue->front=queue->rear=ql;queue->size=0;return1;}/f>
4、S>
5、S入队操作队满条件:q
6、ueue->size+l==MAXSIZE//intEnQueue(QueueArravqueue){if((queue->size+1)>MAXSTZE)//是否队满{printf(〃已经超出了预设最大队列长度%d!〃,MAXSIZE);return0;}fflush(stdin);//清理标准输入流printf("请输入入队元素<);scanf(〃%c〃,&qucuc->rcar->data);queue->rear=(queue-〉rear)++;//队尾元素移动queue->size++;//队长度攒加ret
7、urn1;}fvjx/出队操作队空条件:queue->size==0、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,、:,/^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx^Tx/intDeQueue(QueueArrayqueue){if(0==queue->size)//是否队空{printf(
8、"注意:队列已经为空!");return0;}printfC’队头元素为:%cqueue-〉front-〉data);(queue->front)++;//队头元素移动queue->size—;return1;//队长度减少voidmain(){QueueArrayqueue=(QueueArray)malloc(sizeof(QueueArray));intchoose;InitQueue(queue);while(l){printf("请选择操作:1.入队t2.出队t3.退出程序它选择;sca
9、nf(〃%d〃,&choose);//fflush(stdin);if(choose!=l&&choose!=2)break;switch(choose)//选择操作{case1:EnQueue(queue);//入队操作break;case2:DeQueue(queue);//出队操作break;default:printf(〃退出程序!〃);break;}}system(,zpause,z);}^include^include^defineOVERFLOW-2ttde
10、fineERROR0#dcfincOK1defineMAX100//栈的最大值typedefintSElemType;typedefintQEIemType;typedefstruct{SElcmTypc氺base;SElemType氺top;}SqStack;typedefstructSqNodc{SElemTypedata;SqNode札i
此文档下载收益归作者所有