数据结构栈与队列的实验报告

数据结构栈与队列的实验报告

ID:35227095

大小:58.13 KB

页数:8页

时间:2019-03-22

数据结构栈与队列的实验报告_第1页
数据结构栈与队列的实验报告_第2页
数据结构栈与队列的实验报告_第3页
数据结构栈与队列的实验报告_第4页
数据结构栈与队列的实验报告_第5页
资源描述:

《数据结构栈与队列的实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构栈与队列实验报告学院:数学与计算机学院班级:计算机科学与技术姓名:杨理源学号:201310401069实验三栈与队列一、实验目的:(1)熟练掌握栈和队列的结构以及这两种数据结构的特点、栈与队列的基本操作。(2)能够在两种存储结构上实现栈的基本运算,特别注意栈满和栈空的判断条件及描述方法;(3)熟练掌握链队列和循环队列的基本运算,并特别注意队列满和队列空的判断条件和描述方法;(4)掌握栈的应用;二、实验要求:(1)给出程序设计的基本思想、原理和算法描述。(2)对源程序给出注释。(3)记录程序的运行结果,并结合程序进行分析。三、程序设计的基本思想、原理和算法描述:四、实验内容:1、利用栈

2、的基本操作将一个十进制的正整数转换成R进制数据,并将其转换结果输出。#include#include#include#definestack_init_size100#definestackincrement10typedefstructsqstack{int*base;int*top;intstacksize;}sqstack;intStackInit(sqstack*s){s->base=(int*)malloc(stack_init_size*sizeof(int));if(!s->base)return0;s->top=s->

3、base;s->stacksize=stack_init_size;return1;}intPush(sqstack*s,inte){if(s->top-s->base>=s->stacksize){s->base=(int*)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int));if(!s->base)return0;s->top=s->base+s->stacksize;s->stacksize+=stackincrement;} *(s->top++)=e; return e;  } int Pop(sqstack *s,

4、int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1;   }else { return 0; }  } int conversion(sqstack *s)  { int n,e=0,flag=0; printf("输入要转化的十进制数:"); scanf("%d",&n); printf("要转化为多少进制:2 进制、8 进制、16 进制填数字!"); scanf("%d",&flag);

5、 printf("将十进制数%d 转化为%d 进制是:",n,flag); while(n) { Push(s,n%flag); n=n/flag; }  while(!stackempty(s)) {  e=Pop(s,e); switch(e) { case 10: printf("A");  break; case 11: printf("B"); break;case12:printf("C");break;case13:printf("D");break;case14:printf("E");break;case15:printf("F");break;default:prin

6、tf("%d",e);}}printf("");return0;}intmain(){sqstacks;StackInit(&s);conversion(&s);return0;}2、回文数判断#include#include#defineMAX50#defineFALSE0#defineTURE1//定义栈typedefstruct{charelem[MAX];inttop;}SeqStack;//定义循环队列typedefstruct{charelement[MAX];intfront;intrear;}SeqQuene;//初始化栈voidIn

7、itStack(SeqStack*S){S->top=-1;//构造一个空栈}//入栈intPush(SeqStack*S,charx,intcnt){if(S->top==cnt-1)return(FALSE);S->top++;S->elem[S->top]=x;return(TURE);}//出栈intPop(SeqStack*S,char*x){if(S->top==-1)return(FALSE);

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

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

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