




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构栈与队列实验报告学院:数学与计算机学院班级:计算机科学与技术姓名:杨理源学号:201310401069实验三 栈与队列一、实验目的: (1)熟练掌握栈和队列的结构以及这两种数据结构的特点、栈与队列的基本操作。(2)能够在两种存储结构上实现栈的基本运算,特别注意栈满和栈空的判断条件及描述方法;(3)熟练掌握链队列和循环队列的基本运算,并特别注意队列满和队列空的判断条件和描述方法;(4)掌握栈的应用;二、实验要求:(1) 给出程序设计的基本思想、原理和算法描述。(2) 对源程序给出注释。(3) 记录程序的运行结果,并结合程序进行分析。三、程序设计的基本思想、原理和算法描述:四、实验内容:1、利用栈的基本操作将一个十进制的正整数转换成R进制数据,并将其转换结果输出。#include #include #include #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack int *base; int *top; int stacksize; sqstack; int StackInit(sqstack *s) s-base=(int *)malloc(stack_init_size *sizeof(int); if(!s-base) return 0; s-top=s-base; s-stacksize=stack_init_size; return 1; int Push(sqstack *s,int e) if(s-top-s-base=s-stacksize) s-base=(int *)realloc(s-base,(s-stacksize+stackincrement)*sizeof(int); if(!s-base) return 0; s-top=s-base+s-stacksize; s-stacksize+=stackincrement;*(s-top+)=e;returne;intPop(sqstack*s,inte)if(s-top=s-base)return0;e=*-s-top;returne;intstackempty(sqstack*s)if(s-top=s-base)return1;elsereturn0;intconversion(sqstack*s)intn,e=0,flag=0;printf(输入要转化的十进制数:n);scanf(%d,&n);printf(要转化为多少进制:2进制、8进制、16进制填数字!n);scanf(%d,&flag);printf(将十进制数%d转化为%d进制是:n,n,flag);while(n)Push(s,n%flag);n=n/flag;while(!stackempty(s)e=Pop(s,e);switch(e)case10:printf(A);break;case11:printf(B);break; case 12: printf(C); break; case 13: printf(D); break; case 14: printf(E); break; case 15: printf(F); break; default: printf(%d,e); printf(n); return 0; int main() sqstack s; StackInit(&s); conversion(&s); return 0; 2、回文数判断#include#include#define MAX 50#define FALSE 0#define TURE 1/定义栈typedef structchar elemMAX;int top;SeqStack;/定义循环队列typedef structchar elementMAX;int front;int rear;SeqQuene;/初始化栈void InitStack(SeqStack *S)S-top = -1;/构造一个空栈/入栈int Push(SeqStack *S,char x,int cnt)if(S-top = cnt-1)return(FALSE);S-top+;S-elemS-top = x;return(TURE);/出栈int Pop(SeqStack * S,char * x)if(S-top = -1)return(FALSE);else*x = S-elemS-top;S-top-;return(TURE);/初始化队列void InitQuene(SeqQuene *Q)Q-front = Q-rear = 0;/入队int EnterQuene(SeqQuene *Q,char x,int cnt)if(Q-rear+1)%(cnt+1) = Q-front)return(FALSE);Q-elementQ-rear = x;Q-rear = (Q-rear+1)%(cnt+1);return(TURE);/出队int DeleteQuene(SeqQuene *Q,char *x,int cnt)if(Q-front = Q-rear)return(FALSE);*x = Q-elementQ-front;Q-front = (Q-front+1)%(cnt+1);return(TURE);/主函数void main()int i,cnt,flag;SeqStack s;SeqQuene q;char aMAX,bMAX,cMAX; flag=0;printf(请输入由*结束且小于%d的回文序列:n,MAX);for(i = 0;iMAX+1;i+)scanf(%c,&ai);if(ai = *)break;cnt = i;InitStack(&s);InitQuene(&q);for(i = 0;icnt;i+)EnterQuene(&q,ai,cnt);Push(&s,ai,cnt);for(i = 0;icnt+1;i+)DeleteQuene(&q,&bi,cnt);printf(%c,bi);printf(n);for(i = 0;icnt+1;i+)Pop(&s,&ci);pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025儿童游乐场游乐设施采购合同
- 汽车内饰材料耐热性能2025年市场分析及技术创新报告
- 2025年风力发电技术创新与未来应用场景研究报告
- 2025年AI运维工程师入侵检测面试题(含答案与解析)
- 2025年图像分割语义(含答案与解析)
- 稀土烟气回收工培训考核试卷及答案
- 白银熔池熔炼工晋升考核试卷及答案
- 道路危险货物运输从业人员考核试题与答案
- 重冶净化工技能巩固考核试卷及答案
- 真空垂熔工培训考核试卷及答案
- 德州市禹城市事业单位引进青年人才笔试真题2024
- 新版人教版八年级上册生物全册教案教学设计含教学反思
- 2025年人教版音乐四年级上册教学计划(含进度表)
- 解读《医务人员职业道德准则(2025年版)》(含准则全文)
- 2025 - 2026学年教科版科学三年级上册教学计划
- 销售话术培训方案
- 23G409先张法预应力混凝土管桩
- 人教PEP版(一起)(2024)一年级上册英语全册教案(单元整体教学设计)
- 铁工电〔2023〕54号国铁集团关于印发《普速铁路工务安全规则》的通知
- 《光伏发电工程工程量清单计价规范》
- 英汉互译课件05
评论
0/150
提交评论